日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql语句中%代表什么_常用的Mysql语句你知道多少?

發(fā)布時(shí)間:2024/9/15 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql语句中%代表什么_常用的Mysql语句你知道多少? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.數(shù)據(jù)庫存儲引擎

mysql> show variables like '%storage_engine%'; #查看mysql當(dāng)前默認(rèn)的存儲引擎

mysql> show engines; #查看存儲引擎

InnoDB存儲引擎:默認(rèn)引擎,最常用的。

InnoDB是事務(wù)型數(shù)據(jù)庫的首選引擎,支持事務(wù)安全表(ACID),支持行鎖定和外鍵;InnoDB是默認(rèn)的

MySQL引擎 InnoDB特點(diǎn): 支持事務(wù)處理,支持外鍵,支持崩潰修復(fù)和并發(fā)控制。如果需要對事務(wù)的完整性要求比較高(比如銀行),要求實(shí)現(xiàn)并發(fā)控制(比如售票),那選擇InnoDB有很大的優(yōu)勢。如果需要頻繁的更新、刪除操作的數(shù)據(jù)庫,也可以選擇InnoDB,因?yàn)橹С质聞?wù)的提交(commit)和回滾(rollback)。

默認(rèn)的是InnoDB,但有時(shí)候我們需要使用其它引擎該怎么辦?

mysql> create table t1(字段名,類型) engine=引擎; #創(chuàng)建的時(shí)候指定你想要的引擎

#如果你創(chuàng)建表的時(shí)候忘了指定引擎了,那它使用的就是默認(rèn)的InnoDB,當(dāng)然我們也可以修改引擎

mysql> ALTER TABLE 表名 ENGINE=引擎; #將該表修改指定為你想要使用的引擎

注意:在Mysql中,指令不分大小寫,但是庫名,表名之類的不屬于與指令的是區(qū)分大小寫的。

2.增刪改查

1.創(chuàng)建庫

mysql> create database 庫名;

2.查看數(shù)據(jù)庫中的所有庫

mysql> show databases;

3.進(jìn)入數(shù)據(jù)庫

mysql> use 庫名;

4.查看當(dāng)前所在的庫

mysql> select database();

創(chuàng)建表

必須先使用mysql> use 庫名;語句進(jìn)入某個(gè)庫中,才能創(chuàng)建表

語法:

create table 表名(

字段名1 類型[(寬度) 約束條件],

字段名2 類型[(寬度) 約束條件],

字段名3 類型[(寬度) 約束條件]

)[存儲引擎 字符集];

==在同一張表中,字段名是不能相同

==寬度和約束條件可選

==字段名和類型是必須的

=========================================================

1.創(chuàng)建表:

mysql> create table t1(id int, name varchar(20), age int);

字段 類型 字段 類型(長度), 字段 類型

2.查看有哪些表

mysql> show tables;

3.查看表結(jié)構(gòu):

mysql> desc 表名;

4.查看表里面的所有記錄:

語法: select 內(nèi)容 from 表名;

mysql> select * from t1;

*:代表所有內(nèi)容

5.查看表里面的指定字段:

語法:select 字段,字段 from 表名;(可以查一個(gè)字段,也可以是多個(gè),中間用逗號隔開)

mysql> select name,age from t1;

6.查看表的狀態(tài)

mysql> show table status like '表名'\G

#\G表示查看的內(nèi)容會一條記錄一條記錄顯示。用的\G就不用添加分號了

7.修改表名稱

方式一、語法:rename table 舊表名 to 新表名;

mysql> rename table t1 to t2;

Query OK, 0 rows affected (0.00 sec)

方式二、語法:alter table 舊表名 rename 新表名;

mysql> alter table t2 rename t3;

8.使用edit(\e)編輯------了解

mysql> \e #可以寫新的語句,調(diào)用的vim編輯器,在里面結(jié)尾的時(shí)候不加分號,保存退出之后在加“;”

-> ;

9.刪除表

mysql> drop table 表名;

10.刪除庫

mysql> drop database 庫名;

3.約束

常見的約束條件

不分大小寫:

PRIMARY KEY (PK) 標(biāo)識該字段為該表的主鍵,可以唯一的標(biāo)識記錄,不可以為空 UNIQUE + NOT NULL

FOREIGN KEY (FK) 標(biāo)識該字段為該表的外鍵,實(shí)現(xiàn)表與表(父表主鍵/子表1外鍵/子表2外鍵)之間的關(guān)聯(lián)

NULL 標(biāo)識是否允許為空,默認(rèn)為NULL。

NOT NULL 標(biāo)識該字段不能為空,可以修改。

UNIQUE KEY (UK) 標(biāo)識該字段的值是唯一的,可以為空,一個(gè)表中可以有多個(gè)UNIQUE KEY

AUTO_INCREMENT 標(biāo)識該字段的值自動增長(整數(shù)類型,而且為主鍵)

DEFAULT 為該字段設(shè)置默認(rèn)值

UNSIGNED 無符號,正數(shù)

1.主鍵

每張表里只能有一個(gè)主鍵,不能為空,而且唯一。

定義兩種方式:

mysql> create table 表名(字段1 類型 primary key,字段2 類型); #在字段1的類型后面定義

mysql> create table 表名(字段1 類型,字段2 類型,primary key(字段1));# 在最后定義,并指定哪個(gè)字段

刪除主鍵

mysql> alter table 表名 drop primary key;

2.索引

索引:當(dāng)查詢速度過慢可以通過建立優(yōu)化查詢速度,可以當(dāng)作調(diào)優(yōu)

index(key)每張表可以有很多列做index

創(chuàng)建索引:兩種

mysql> create table 表名(字段1 類型 primary key,字段2 類型,index (字段2));

mysql> create table 表名(字段1 類型 primary key,字段2 類型,index 別名(字段2));

#給字段2做的索引并起別名

3.自增

auto_increment--------自增 (每張表只能有一個(gè)字段為自曾) (成了key才可以自動增長)

mysql> CREATE TABLE 表名 (

-> 字段1 類型 PRIMARY KEY AUTO_INCREMENT,

-> 字段2 類型,

-> 字段3 類型

-> );

4.表操作

1.添加新字段

alter table 表名 add 字段 修飾符;

mysql> alter table 表名 add 字段名 類型;#添加的字段

mysql> alter table 表名 add (字段1 類型,字段2 類型);#添加多個(gè)字段,中間用逗號隔開。

alter table 表名 add 添加的字段(和修飾) after name; #把添加的字段放到name后面

alter table 表名 add 添加的字段(和修飾) first; #把添加的字段放在第一個(gè)

2.修改名稱、數(shù)據(jù)類型、修飾符

alter table 表名 change 舊字段 新字段 修飾符; #change修改字段名稱,類型,約束,順序

mysql> alter table 表名 change 舊字段 新字段 類型 after 字段1; #修改字段名稱與修飾并放在字段1后面

3.修改字段類型,約束,順序

alter table 表名 modify 字段 類型 修飾符; #modify 不能修改字段名稱

mysql> alter table 表名 modify 字段 類型 after 字段名; #修改修飾并更換位置

4.刪除字段

mysql> alter table 表名 drop 字段名; #drop 丟棄的字段。

插入數(shù)據(jù)

字符串必須引號引起來

記錄與表頭相對應(yīng),表頭與字段用逗號隔開。

1.添加一條記錄

insert into 表名(字段1,字段2,字段3,字段4) values(1,"yjssjm","man",90);

注:添加的記錄與表頭要對應(yīng),

2.添加多條記錄

mysql> insert into 表名(字段1,字段2,字段3,字段4) values(2,"yjssjm","woman",19),

(3,"xiaoming","man",20);

3.用set添加記錄

mysql> insert into 表名 set 字段1=值1,字段2=值2,字段3=值3,字段4=值4;

4.更新記錄

update 表名 set 修改的字段 where 給誰修改;

mysql> update 表名 set 字段1=值 where 字段2=值;

5.刪除記錄

1.刪除單條記錄

mysql> delete from 表名 where 字段1=值; #刪除那個(gè)記錄,等于幾會刪除那個(gè)整條記錄

2.刪除所有記錄

mysql> delete from 表名;

5.權(quán)限管理

1. 登錄和退出MySQL

遠(yuǎn)程登陸:

客戶端語法:mysql -u 用戶名 -p 密碼 -h ip地址 -P端口號:如果沒有改端口號就不用-P指

定端口

# mysql -hip地址 -P 3306 -uroot -p'密碼'

# mysql -hip地址 -P 3306 -uroot -p'密碼' -e 'show databases;'

-h 指定主機(jī)名 【默認(rèn)為localhost】

-P MySQL服務(wù)器端口 【默認(rèn)3306】

-u 指定用戶名 【默認(rèn)root】

-p 指定登錄密碼 【默認(rèn)為空密碼】

-e 接SQL語句,可以寫多條拿;隔開

# mysql -hip地址 -P 3306 -uroot -p'密碼' -D mysql -e 'show databases;'

此處 -D mysql為指定登錄的數(shù)據(jù)庫

2.創(chuàng)建表

mysql> create user tom@'localhost' identified by '密碼'; #創(chuàng)建用戶為tom,并設(shè)置密碼。

mysql> FLUSH PRIVILEGES; #更新授權(quán)表

注:

identified by :設(shè)置密碼

在用戶tom@' ' 這里 選擇:

%:允許遠(yuǎn)程登陸。也可以指定某個(gè)ip,允許某個(gè)ip登陸。也可以是一個(gè)網(wǎng)段。

%:包括所有的主機(jī),不包括本機(jī)(127.0.0.1),但是不包括(localhost)

==客戶端主機(jī) % 所有主機(jī)

192.168.13.% 192.168.13.0網(wǎng)段的所有主機(jī)

192.168.13.252 指定主機(jī) 192.168.13.252

localhost 指定主機(jī)本機(jī)

3.使用命令授權(quán):grant

也可創(chuàng)建新賬戶(不過后面的版本會移除這個(gè)功能,建議使用create user)

語法格式:

grant 權(quán)限列表 on 庫名.表名 to '用戶名'@'客戶端主機(jī)' IDENTIFIED BY 'Qf@123';

==權(quán)限列表 all 所有權(quán)限(不包括授權(quán)權(quán)限)

select,update

select, insert

==數(shù)據(jù)庫.表名 *.* 所有庫下的所有表 Global level

web.* web庫下的所有表 Database level

web.stu_info web庫下的stu_info表 Table level

給剛才創(chuàng)建的用戶tom授權(quán):

mysql> grant select,insert on *.* to 'tom'@'localhost';

mysql> FLUSH PRIVILEGES;

4.刪除用戶

方法一:DROP USER語句刪除

DROP USER '用戶名'@'localhost';

方法二:DELETE語句刪除

DELETE FROM mysql.user WHERE user='tom' AND host='localhost';

更新授權(quán)表: FLUSH PRIVILEGES;

你們的評論和點(diǎn)贊是我寫文章的最大動力,蟹蟹。

總結(jié)

以上是生活随笔為你收集整理的mysql语句中%代表什么_常用的Mysql语句你知道多少?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。