欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:數(shù)據(jù)庫 MYSQL基礎(chǔ)語法二

柚子快報激活碼778899分享:數(shù)據(jù)庫 MYSQL基礎(chǔ)語法二

http://yzkb.51969.com/

1、數(shù)據(jù)類型

1.1、數(shù)值型

????????MySQL支持多種數(shù)值型數(shù)據(jù)類型,包括整數(shù)型、小數(shù)型和布爾型。

1.1.1、整數(shù)型

????????MySQL支持多種整數(shù)型數(shù)據(jù)類型,包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。

TINYINT:1字節(jié),取值范圍為-128到127或0到255。SMALLINT:2字節(jié),取值范圍為-32768到32767或0到65535。MEDIUMINT:3字節(jié),取值范圍為-8388608到8388607或0到16777215。INT:4字節(jié),取值范圍為-2147483648到2147483647或0到4294967295。BIGINT:8字節(jié),取值范圍為-9223372036854775808到9223372036854775807或0到18446744073709551615。

1.1.2、小數(shù)型

????????MySQL支持多種小數(shù)型數(shù)據(jù)類型,包括FLOAT、DOUBLE和DECIMAL。

FLOAT:4字節(jié),單精度浮點(diǎn)數(shù),精度為7位。DOUBLE:8字節(jié),雙精度浮點(diǎn)數(shù),精度為15位。DECIMAL:可變長度,用于存儲精確的小數(shù),精度和數(shù)據(jù)長度可以自定義。

1.1.3、布爾型

????????MySQL支持布爾型數(shù)據(jù)類型,即BOOLEAN或BOOL。它只占用1位,取值為TRUE或FALSE。

1.2、日期型

????????MySQL支持多種日期型數(shù)據(jù)類型,包括DATE、TIME、DATETIME、TIMESTAMP和YEAR。

DATE:用于存儲日期,格式為YYYY-MM-DD。TIME:用于存儲時間,格式為HH:MM:SS。DATETIME:用于存儲日期時間,格式為YYYY-MM-DD HH:MM:SS。TIMESTAMP:用于存儲時間戳,格式為YYYY-MM-DD HH:MM:SS。YEAR:用于存儲年份,格式為YYYY。

1.3、字符串型

????????MySQL支持多種字符串型數(shù)據(jù)類型,包括CHAR、VARCHAR、TEXT、BLOB和ENUM。

1.3.1、CHAR和VARCHAR

????????CHAR和VARCHAR都用于存儲字符串,但它們的存儲方式不同。CHAR是一種固定長度的字符串類型,VARCHAR是一種可變長度的字符串類型。

CHAR:用于存儲固定長度的字符串,長度為0到255個字符。VARCHAR:用于存儲可變長度的字符串,長度為0到65535個字符。

1.3.2、TEXT和BLOB

????????TEXT和BLOB用于存儲大量的文本或二進(jìn)制數(shù)據(jù)。

TEXT:用于存儲大量的文本數(shù)據(jù),最大長度為65535個字符。BLOB:用于存儲大量的二進(jìn)制數(shù)據(jù),最大長度為65535個字節(jié)。

1.3.3、ENUM

ENUM用于存儲枚舉類型的數(shù)據(jù),如性別、狀態(tài)等。

1.4、二進(jìn)制型

????????MySQL支持多種二進(jìn)制型數(shù)據(jù)類型,包括BIT、BINARY和VARBINARY。

BIT:用于存儲比特位,長度為1到64個比特位。BINARY:用于存儲固定長度的二進(jìn)制數(shù)據(jù),長度為0到255個字節(jié)。VARBINARY:用于存儲可變長度的二進(jìn)制數(shù)據(jù),長度為0到65535個字節(jié)。

五、其他類型

????????MySQL還支持多種其他類型的數(shù)據(jù),包括SET、JSON和Geometry。

SET:用于存儲一組可選值,最多可以有64個選項。JSON:用于存儲JSON格式的數(shù)據(jù)。Geometry:用于存儲幾何類型的數(shù)據(jù),如點(diǎn)、線、面等。

2、常用語法

????????MySQL常用列屬性有:null、not null、default、primary key、auto_increment、comment。

2.1、空屬性: null和not null

/*空屬性: null和not null*/

空屬性: null(空,默認(rèn)) 和 not null(不為空). mysql數(shù)據(jù)庫默認(rèn)字段都是為null的,實(shí)際開發(fā)過程中盡可能保證所有的數(shù)據(jù)都不應(yīng)該為null,空數(shù)據(jù)沒有意義.

例如: create table test(

a int not null,

b int

);

insert into test (a,b) values(10,null);

insert into test (a,b) values(null,10);--報錯

2.2、默認(rèn)值:default

/*默認(rèn)值: default*/

default: 自定義默認(rèn)值屬性,通常配合not null一起使用.

例如: create table test1(

a int not null default 200,

b int

);

insert into test1(b) values(20);--或 insert into test1(a,b) values(default,20);

2.3、主鍵:primary key

/*主鍵|唯一索引*/

Mysql中提供了多種索引? (下文索引更多解析)

1.主鍵索引:primary key

2.唯一索引:unique key

3.全文索引:fulltext index

4.普通索引:key 或 index

主鍵:primary key 一張表中只能有一個字段可以使用對應(yīng)的主鍵,用來唯一的約束該字段里面的數(shù)據(jù),不能重復(fù)和不能為null.

設(shè)置主鍵有兩種方式:

(1)在定義一個字段的時候直接在后面進(jìn)行設(shè)置primary key

例如: create table test2(

id int(10) unsigned not null primary key,

name char(20) not null default ''

);

(2)定義完字段后再定義主鍵

例如: create table test3(

id int(10) unsigned not null,

name char(20) not null default '',

primary key (id)

);

唯一鍵:unique key 解決表中多個字段需要唯一性約束的問題.

例如:create table test4(

id int(10) unsigned not null,

name char(20) not null default '',

goods varchar(100) not null default '',

primary key (id),

unique key (name,goods)

);

2.4、自增長:auto_increment

/*自動增長: auto_increment*/

自增長屬性:每次插入記錄的時候,自動的為某個字段的值加1(基于上一個記錄). 通常跟主鍵搭配.

自增長規(guī)則:(1)任何一個字段要做自增長前提必須是一個索引 (2)自增長字段必須是整型數(shù)字

例如: create table test5(

id int(10) unsigned not null auto_increment,

name char(20) not null default '',

primary key (id)

);

2.5、列描述:comment

/*列描述 comment*/

列描述(注釋):comment 與其他的注釋符不同之處在于,這里的注釋內(nèi)容屬于列定義的一部分.

例如:create table user(

id int(10) unsigned not null auto_increment comment 'id',

name char(20) not null default '' comment '名字',

primary key (id)

)engine=InnoDB default charset=utf8 comment='用戶表';

2.6、索引

#索引

/*索引的概述和優(yōu)缺點(diǎn)和種類*/

什么是索引?

索引是一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個組成部分),它們包含著對數(shù)據(jù)表里所有記錄的引用指針.

類比理解:數(shù)據(jù)庫中的索引相當(dāng)于書籍目錄一樣,能加快數(shù)據(jù)庫的查詢速度.

沒有索引的情況,數(shù)據(jù)庫會遍歷全部數(shù)據(jù)后選擇符合條件的選項.

創(chuàng)建相應(yīng)的索引,數(shù)據(jù)庫會直接在索引中查找符合條件的選項.

索引的性質(zhì)分類:

索引分為聚集索引和非聚集索引兩種,聚集索引是索引中鍵值的邏輯順序決定了表中相應(yīng)行的物理順序,而非聚集索引是不一樣;

聚集索引能提高多行檢索的速度,而非聚集索引對于單行的檢索很快.

索引的優(yōu)點(diǎn):

(1)加快數(shù)據(jù)檢索速度 (創(chuàng)建索引主要原因)

(2)創(chuàng)建唯一性索引,保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性

(3)加速表和表之間的連接

(4)使用分組和排序子句對數(shù)據(jù)檢索時,減少檢索時間

(5)使用索引在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能

索引的缺點(diǎn):

(1)創(chuàng)建索引和維護(hù)索引要耗費(fèi)時間,時間隨著數(shù)據(jù)量的增加而增加

(2)索引需要占用物理空間和數(shù)據(jù)空間

(3)表中的數(shù)據(jù)操作插入、刪除、修改, 維護(hù)數(shù)據(jù)速度下降

索引種類

(1)普通索引: 僅加速查詢

(2)唯一索引: 加速查詢 + 列值唯一(可以有null)

(3)主鍵索引: 加速查詢 + 列值唯一(不可以有null)+ 表中只有一個

(4)組合索引: 多列值組成一個索引,專門用于組合搜索,其效率大于索引合并

(5)全文索引: 對文本的內(nèi)容進(jìn)行分詞,進(jìn)行搜索 (注意:目前僅有MyISAM引擎支持)

/*創(chuàng)建表時直接指定索引*/

--創(chuàng)建主鍵索引

例如:create table student(

id int(10) unsigned not null auto_increment comment 'id主鍵索引',

name char(20) not null default '' comment '名字',

class varchar(50) not null default '' comment '班級',

seat_number smallint(5) not null default 0 comment '座位編號',

primary key (id)

)engine=InnoDB default charset=utf8 comment='學(xué)生表';

/*創(chuàng)建索引*/

create [unique唯一索引][clustered聚集索引] index <索引名>

on <表名>(<列名稱>[<排序>],<列名稱>[<排序>]…);

語法解析:其中unique和clustered為可選項. 注意:基本表上最多僅僅能建立一個聚集索引.

"列名稱":規(guī)定需要索引的列. "排序":可選asc(升序)和desc(降序)缺省值為asc.

--創(chuàng)建唯一索引(unique key 簡寫 unique)

例如:create unique index number on student(seat_number desc);

--創(chuàng)建普通索引

例如:create index name_class on student(name asc,class desc);

/*刪除索引*/

drop index <索引名> on 表名;

例如:drop index number on student;

2.7、外鍵

/*外鍵約束: foreign key */

外鍵約束: foreign key 被約束的表叫做副表,外鍵設(shè)置在副表上面,外鍵引用主鍵字段所在的表叫做主表. (作用:約束兩張表的數(shù)據(jù))

外鍵定義語法: constraint 外鍵約束名稱 foreign key(外鍵字段) references 主表名稱(引用字段)

外鍵數(shù)據(jù)操作:

1.當(dāng)有外鍵約束之后,添加數(shù)據(jù)的時候,先添加主表數(shù)據(jù),再添加副表數(shù)據(jù)

2.當(dāng)有了外鍵約束,修改數(shù)據(jù)的時候,先改副表的數(shù)據(jù),在修改主表的數(shù)據(jù)

3.當(dāng)有了外鍵約束,刪除數(shù)據(jù)的時候,也是先刪除副表的數(shù)據(jù),再刪除主表的數(shù)據(jù)

外鍵注意事項:

1.外鍵約束只有InnoDB存儲引擎才支持.

2.實(shí)際項目中往往會用到外鍵的設(shè)計思想,但往往不會真正的從語法上進(jìn)行外鍵約束. 因為外鍵約束的級聯(lián)操作可能會帶來一些現(xiàn)實(shí)的邏輯問題. 另外使用外鍵會較低mysql的效率.

2.8、儲存引擎

/*儲存引擎: engine*/

常見的引擎:Myisam InnoDB BDB Memory Archive 等

不同的引擎在保存表的結(jié)構(gòu)和數(shù)據(jù)時采用不同的方式?

MyISAM表文件含義:.frm表定義,.MYD表數(shù)據(jù),.MYI表索引

InnoDB表文件含義:.frm表定義,表數(shù)據(jù)空間文件(存放表的數(shù)據(jù)和索引)和日志文件

2.9、innodb與myisam的區(qū)別

MySQL中innodb與myisam的區(qū)別

(1):InnoDB支持事物,MyISAM不支持事物

(2):InnoDB支持行級鎖,MyISAM支持表級鎖

(3):InnoDB支持快照數(shù)據(jù)(MVCC),MyISAM不支持

(4):InnoDB支持外鍵,MyISAM不支持

(5):InnoDB不支持全文索引,MyISAM支持

innodb使用的是行級鎖:只有在增刪改查時匹配的條件字段帶有索引時,innodb才會使用行級鎖.(行級鎖:要為匹配條件字段加索引)

innodb使用的是表級鎖:如果增刪改查時匹配的條件字段不帶有索引時,innodb使用的將是表級鎖.(表級鎖:數(shù)據(jù)庫全表查詢,需要將整張表加鎖,保證查詢匹配的正確性)

觸發(fā)讀鎖:就是用select命令時觸發(fā)讀鎖.

觸發(fā)寫鎖:就是在你使用update,delete,insert時觸發(fā)寫鎖,并且使用rollback或commit后解除本次鎖定

更好的區(qū)分:讀寫鎖和表級鎖行級鎖. 將讀寫鎖叫做權(quán)限鎖(決定了加鎖后用戶有哪些操作權(quán)限),將表級鎖行級鎖叫做對象鎖(決定將鎖加在某一行還是整張表)

MVCC多版本并發(fā)控制,也可稱之為一致性非鎖定讀;它通過行的多版本控制方式來讀取當(dāng)前執(zhí)行時間數(shù)據(jù)庫中的行數(shù)據(jù). 實(shí)質(zhì)上使用的是快照數(shù)據(jù).

為什么要使用MVCC?

消除鎖的開銷. (如果要保證數(shù)據(jù)的一致性,最簡單的方式就是對操作數(shù)據(jù)進(jìn)行加鎖,但是加鎖不可避免的會有鎖開銷. 所以使用MVCC能避免進(jìn)行加鎖的方式并提高并發(fā).)

2.10、運(yùn)算符和邏輯運(yùn)算符

--比較運(yùn)算符(常用示例) <, >, <=, >=, =, !=或<>, IS NULL

between and | not between and --例如: between A and B; 相當(dāng)于區(qū)間[A,B];

in | not in --例如:in表示某個值出現(xiàn);

not in表示沒出現(xiàn)在一個集合之中;

is null | is not null --空值查詢;

like --通配符;

_ 代表任意的單個字符;

% 代表任意的字符;

--邏輯運(yùn)算符

&&(AND), ||(OR), !(NOT), XOR異或

2.11、group by

--group by子句 (分組)

--group by 字段/別名 [排序方式] 分組后排序: asc 升序(默認(rèn)),desc 降序

--統(tǒng)計函數(shù)需配合group by使用:

count 返回不同的非NULL統(tǒng)計值 count(*)、count(字段)

sum 求和; max 求最大值; min 求最小值; avg 求平均值

select class, sum(score) as sum

from student

group by class desc;--查詢各個班級總成績,分組班級降序.

select id,class, max(score) as max

from student where score>80

group by class;--查詢各個班級最高成績,分?jǐn)?shù)要大于80,分組班級升序.

2.12、having

--having 子句 (條件查詢)

--where功能、用法相同,執(zhí)行時機(jī)不同.

--本質(zhì)區(qū)別:where子句是把磁盤上的數(shù)據(jù)篩選到內(nèi)存上,而having子句是把內(nèi)存中的數(shù)據(jù)再次進(jìn)行篩選.

--where不可以使用統(tǒng)計函數(shù). 一般需用統(tǒng)計函數(shù)配合group by才會用到having

例如:

select class, min(score) as min

from student

where min(score)>80

group by class;--報錯

select class, min(score) as min

from student

group by class

having min(score)>80;--查詢各個班級最低成績,分組班級,最低分?jǐn)?shù)大于80

2.13、order by

--order by子句 (排序)

--order by 字段1[asc|desc],字段n[asc|desc]

--排序: asc 升序(默認(rèn)),desc 降序

例如:

select * from

student

where score > 80

order by score,name desc;--查詢score大于80,排序score升序和name降序

2.14、聯(lián)合查詢

/*聯(lián)合查詢 關(guān)鍵字:union*/

--聯(lián)合查詢:就是將多個查詢結(jié)果進(jìn)行縱向上的拼接. (select語句2的查詢結(jié)果放在select語句1查詢結(jié)果的后面)

--語法:

select語句1

union [all | distinct]

select 語句2

union [all | distinct]

select 語句n

例如:查詢A班級最高成績和B班級最低成績?

(select name, class,score from student where class='A' order by score desc limit 1)

union

(select name, class,score from student where class='B' order by score limit 1);

2.15、連接查詢

/*連接查詢*/

將多個表的字段進(jìn)行連接,可以指定連接條件.

--交叉連接 cross join

select *|字段列表 from 表名1 cross join 表名2;

一張表的一條記錄去連接另一張表中的所有記錄,并且保存所有的記錄包含兩個表的所有的字段.

結(jié)果上看,就是對兩張表做笛卡爾積,有n1*n2條記錄.

例如:select * from student cross join score;

2.16、內(nèi)連接

--內(nèi)連接 inner join

select *|字段列表 from 左表 [inner] join 右表 on 左表.字段 = 右表.字段 [五子句];

數(shù)據(jù)在左表中存在,同時在右表中又有對應(yīng)的匹配的結(jié)果才會被保存. 如果沒有匹配上,數(shù)據(jù)沒有意義不會保存.

通常就是兩張表中存在相同的某個字段.(項目中通常是關(guān)聯(lián)主鍵ID) using() 用法連接兩表公共字段. 例如:using(ID)

select student.*, teacher.class as t_class, teacher.name as t_name

from student join teacher on student.class = teacher.class;

2.17、左外連接

-- 左外連接 left join

select *|字段列表 from 左表 left [outer] join 右表 on 左表.字段 = 右表.字段 [五子句];

如果數(shù)據(jù)不存在,左表記錄會出現(xiàn),而右表為null填充

例如:

select student.*, teacher.class as t_class, teacher.name as t_name

from student left join teacher on student.class = teacher.class;

2.18、右連接

-- 右外連接 right join

select *|字段列表 from 右表 right [outer] join 左表 on 右表.字段 = 左表.字段 [五子句];

如果數(shù)據(jù)不存在,右表記錄會出現(xiàn),而左表為null填充

例如:

select student.*, teacher.class as t_class, teacher.name as t_name

from student right join teacher on student.class = teacher.class;

2.19、自然連接

--自然連接 natural join

自動判斷連接條件完成連接.

--自然內(nèi)連接 natural inner join

select *|字段列表 from 左表 natural [inner] join 右表;

自然內(nèi)連接其實(shí)就是內(nèi)連接,這里的匹配條件是由系統(tǒng)自動指定.

--自然外連接 natural outer join

自然外連接分為自然左外連接和自然右外連接.匹配條件也是由系統(tǒng)自動指定.

--自然左外連接 natural left join

select *|字段列表 from 左表 natural left [outer] join 右表;

--自然右外連接 natural right join

select *|字段列表 from 右表 natural right [outer] join 左表;

2.10、子查詢

/*子查詢*/

子查詢(內(nèi)查詢)在主查詢(外查詢)之前一次執(zhí)行完成,子查詢的結(jié)果被主查詢使用.

使用子查詢需用括號包裹.

select *

from student

where score=(select max(score) as max from student);--查詢班級最高成績學(xué)生的記錄

根據(jù)子查詢返回值的形式:

1.單一值: 返回單行單列的子查詢,也叫標(biāo)量子查詢.

例如:select max(score) as max from student;

2.21、判斷exists

--exists

--主要作用就是判斷后面的select語句有沒有查詢到數(shù)據(jù).結(jié)果為true有返回數(shù)據(jù),否則就是false.

例如:select exists (select * from student where name ='uzi');--有

3、補(bǔ)充

3.1、三范式

/*數(shù)據(jù)庫三范式*/

--建表規(guī)范

- 每個表保存一個實(shí)體信息

- 每個具有一個ID字段作為主鍵

- ID主鍵 + 原子表

--第一范式

字段不能再分,確保每列保持原子性.

--第二范式

滿足第一范式的基礎(chǔ)上,不能有部分依賴.

消除符合組合主鍵(A,B)就可以避免部分依賴. 增加單列關(guān)鍵字.

--第三范式

滿足第二范式的基礎(chǔ)上,不能有傳遞依賴.

某個字段依賴于主鍵,而有其他字段依賴于該字段. 這就是傳遞依賴.

將一個實(shí)體信息的數(shù)據(jù)放在一個表內(nèi)實(shí)現(xiàn)

3.2、視圖

????????視圖是一張?zhí)摂M表,它表示一張表的部分?jǐn)?shù)據(jù)和多張表的綜合數(shù)據(jù),視圖的結(jié)構(gòu)和數(shù)據(jù)都是建立在基表上.視圖僅僅是一個表結(jié)構(gòu),視圖的數(shù)據(jù)并不在數(shù)據(jù)庫中存儲,數(shù)據(jù)保存在基表中. 一張表可以創(chuàng)建多個視圖. ????????視圖作用:簡化業(yè)務(wù)邏輯,對客戶端隱藏真實(shí)的表結(jié)構(gòu)

--創(chuàng)建視圖

create [algorithm = undefined | merge | temptable] view 視圖名稱 [(字段列表)]

as

sql語句

?語法解析: 1.視圖名必須唯一,同時不能與表重名. 2.指定視圖執(zhí)行的算法,通過algorithm指定. 3.merge: 合并算法,將視圖的語句和外層的語句合并后再執(zhí)行. 4.temptable: 臨時表算法,將視圖執(zhí)行的結(jié)果生成一張臨時表,再執(zhí)行外層語句. 5.undefined: 未定義型,用哪種算法有MySQL決定,默認(rèn)算法merge. 6."字段列表"如果存在,數(shù)目必須等于select語句檢索的列數(shù)

例如:

create view v_student (v_name,v_score)

as

select name,score from student where score >80;

--查看結(jié)構(gòu)

show create view 視圖名稱

--刪除視圖

drop view [if exists] 視圖名稱

注意: 刪除視圖后,數(shù)據(jù)庫中的數(shù)據(jù)依然存在.(對當(dāng)前視圖刪除)

--修改視圖結(jié)構(gòu)?

alter view 視圖名稱 [(字段列表)]

as

sql語句

3.3、事物

????????事物:是并發(fā)控制的基本單位.事務(wù)就是一系列的操作,這些操作要么都執(zhí)行,要么都不執(zhí)行.(事務(wù)中可以保存多個SQL語句. 這些SQL語句是一個整體. 要么都執(zhí)行,要么都不執(zhí)行.)

--事務(wù)操作

--開啟事務(wù)

start transaction; 或者 begin;

--提交事務(wù)

commit;

--回滾事務(wù)

rollback;

start transaction;--開啟事物

insert into goods(goods_name,price) values('milk','43');

insert into goods(goods_name,price) values('bread','15');

commit;--提交事物

begin;--開啟事物

insert into goods(goods_name,price) values('book','99');

rollback;--回滾事物

事務(wù)的特性

原子性: 事務(wù)是一個不可分割的工作單位,事務(wù)中的操作要么都執(zhí)行,要么都不執(zhí)行.一致性: 事務(wù)前后數(shù)據(jù)的完整性必須保持一致. (事務(wù)開始和結(jié)束時,外部數(shù)據(jù)一致. 在整個事務(wù)過程中,操作是連續(xù)的.)隔離性: 多個用戶并發(fā)訪問數(shù)據(jù)庫時,一個用戶的事務(wù)不能被其它用戶的事物所干擾,多個并發(fā)事務(wù)之間的數(shù)據(jù)要相互隔離.持久性: 一個事務(wù)一旦被提交,它對數(shù)據(jù)庫中的數(shù)據(jù)改變就是永久性的.

事務(wù)的原理

????????利用InnoDB的自動提交(autocommit)特性完成. 普通的Mysql執(zhí)行語句后,當(dāng)前的數(shù)據(jù)提交操作均可被其它客戶端可見. ????????事務(wù)是暫時關(guān)閉“自動提交”機(jī)制,需要commit提交持久化數(shù)據(jù)操作.

????????注意: 修改事務(wù)自動提交 set autocommit = 0 | 1 (0:取消自動提交;1:自動提交)--設(shè)置為不自動提交,因為Mysql默認(rèn)自動提交執(zhí)行.

3.4、用戶權(quán)限管理

/*用戶權(quán)限管理*/

用戶信息表:mysql數(shù)據(jù)庫的下, user表中

--創(chuàng)建用戶

create user 用戶名[@主機(jī)地址] identified by '密碼';

例如:create user 'user_one'@'localhost' identified by '1234';--創(chuàng)建一個只能本機(jī)訪問的用戶

create user 'user_two'@'192.168.1.204.%' identified by '1234';--創(chuàng)建一個可以局域網(wǎng)訪問的用戶

create user 'user_three' identified by '1234';--創(chuàng)建一個可全網(wǎng)訪問的用戶

select host,user,password from user;--查看user表,host用戶名和密碼

--重命名用戶

rename user 老用戶名[@老主機(jī)地址] to 新用戶名[@新主機(jī)地址];

-- 設(shè)置密碼

set password = password('修改密碼'); -- 為當(dāng)前用戶設(shè)置密碼

set password for 用戶名 = password('修改密碼'); -- 為指定用戶設(shè)置密碼

例如:set password for 'user_three' = password('123456789'); -- 指定'user_three'用戶設(shè)置密碼

-- 刪除用戶

drop user 用戶名[@主機(jī)地址];

例如:drop user 'user_two'@'192.168.1.204.%';

--分配權(quán)限給用戶

grant 權(quán)限列表 on *|庫名 . *|表名 to 用戶名[@主機(jī)地址] [identified by "用戶密碼"] [with grant option];

語法解析:

權(quán)限列表: all [privileges]: 表示所有權(quán)限; delete:允許使用delete; select:允許使用select; update:允許使用update; insert:允許使用insert 等...

*.* :表示所有庫的所有表

庫名.表名 :表示某庫下面的某表

例如: grant update,insert on *.* to user_one@'localhost' identified by "1234" with grant option;

--刷新權(quán)限

flush privileges;

--查看權(quán)限

show grants for 用戶名[@主機(jī)地址];

show grants for 'user_one'@'localhost';

--查看當(dāng)前用戶權(quán)限

show grants;

--撤消權(quán)限

revoke 權(quán)限列表 on *|庫名 . *|表名 from 用戶名[@主機(jī)地址];

revoke all privileges, grant option from 用戶名[@主機(jī)地址];-- 撤銷所有權(quán)限

例如:revoke update on *.* from 'user_one'@'localhost';

柚子快報激活碼778899分享:數(shù)據(jù)庫 MYSQL基礎(chǔ)語法二

http://yzkb.51969.com/

推薦閱讀

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18929527.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄