MYSQL必知:
- MSQL不區(qū)分大小寫(xiě),在執(zhí)行匹配的時(shí)候同樣不區(qū)分
- MYSQL語(yǔ)句必須以 ; 結(jié)束
- Sql語(yǔ)句忽略空格
- 子句(clause):sql語(yǔ)句由子句構(gòu)成,一個(gè)子句通常由一個(gè)關(guān)鍵字和所提供的數(shù)據(jù)組成
- SELECT語(yǔ)句中子句有嚴(yán)格的排序,次序不對(duì)會(huì)報(bào)錯(cuò)。SELECT子句的順序:SELECT—FROM—WHERE—GROUP BY—HAVING—ORDER BY—LIMIT
- 外鍵foreign key:外鍵為某個(gè)表中的一列,它包含另一個(gè)表的主鍵值,定義了兩個(gè)表之間的關(guān)系
第三章:使用MYSQL
- 選擇數(shù)據(jù)庫(kù):USE關(guān)鍵字,只有先用USE打開(kāi)某一個(gè)數(shù)據(jù)庫(kù),才能讀取其中的數(shù)據(jù)
- 返回一個(gè)數(shù)據(jù)庫(kù)列表:
SHOW DATABASES;
- 返回某個(gè)數(shù)據(jù)庫(kù)中的表列表:
SHOW TABLES;
- 顯示表列:
SHOW COLUMNS FROM table_name; 或者 DESC table_name;
- 其他SHOW語(yǔ)句:
SHOW STATUS;顯示服務(wù)器狀態(tài)信息
SHOW CREATE DATABASE/TABLE;顯示創(chuàng)建數(shù)據(jù)庫(kù)/表的mysql語(yǔ)句
SHOW GRANTS;顯示用戶(hù)的權(quán)限
SHOW ERRORS/WARNINGS;顯示服務(wù)器錯(cuò)誤/警告信息
第四章:檢索數(shù)據(jù)
- SELECT語(yǔ)句:從一個(gè)或多個(gè)表中檢索信息
SELECT prod_name FROM products;檢索單個(gè)列
SELECT prod_id, prod_name,prod_price FROM products;檢索多個(gè)列:不同列之間通過(guò)逗號(hào)隔開(kāi)
SELECT * FROM products; 檢索所有列:* 為通配符
SELECT DISTINCT vend_id FROM products; 檢索不同的行:DISTINCT 表示唯一值,這邊只返回vend_id不同的行
SELECT prod_name FROM products LIMIT 5;限制結(jié)果: LIMIT 5指示mysql返回值不多于五行,LIMIT 5,5;則指示顯示從第五行開(kāi)始的后五行
SELECT products.prod_name FROM products; 完全限定表名:products.prod_name完全限定表名:prod_name是products表中的一個(gè)列
第五章:排序檢索數(shù)據(jù)
- ORDER BY子句:取一個(gè)或多個(gè)列的名字,據(jù)此對(duì)輸出進(jìn)行排序
SELECT prod_name
FROM products
ORDER BY prod_name;
- 按照多個(gè)列排序:
SELECT prod_id,
prod_name,
prod_price
FROM products
ORDER BY prod_name,prod_price;
先按prod_name排序,再按prod_price排序
- 指定排序方向(默認(rèn)的排序方式是升序順序):
SELECT prod_id,
prod_name,
prod_price
FROM products
ORDER BY prod_name DESC,prod_price;
先按 prod_name降序排序,再按prod_price升序排列。DESC進(jìn)行降序排序
第六章:過(guò)濾數(shù)據(jù)
- WHERE子句:指定搜索條件,它的操作符有 = 等于、<> 不等于、!= 不等于、< 小于、<= 小于等于、> 大于、>= 大于等于、BETWEEN 在指定的兩個(gè)值之間(BETWEEN 1 AND 10 :1到10之間的數(shù)值)
SELECT prod_id,
prod_name,
prod_price
FROM products
ORDER BY prod_name,
prod_price
WHERE prod_price=2.5;
只返回prod_price=2.5限定下的搜索值
- 空值檢查(IS NULL):
SELECT prod_name FROM products WHERE prod_name IS NULL;
第七章:數(shù)據(jù)過(guò)濾
- MYSQL允許一個(gè)語(yǔ)句中有多個(gè)WHERE子句,可以以AND子句或OR子句的方式使用:
SELECT prod_id,
prod_name,
prod_price
FROM products
ORDER BY prod_name,
prod_price
WHERE prod_price=2.5 AND/OR prod_id>1;
AND與OR有著不同的優(yōu)先級(jí),AND的優(yōu)先級(jí)比OR高,當(dāng)使用很多個(gè)邏輯操作符的時(shí)候,可以使用括號(hào)進(jìn)行分組
- IN操作符可以指定條件范圍:
SELECT prod_id,
prod_name,
prod_price
FROM products
ORDER BY prod_name,
prod_price
WHERE prod_price IN (1.0,2.5,3,4,5);
IN中合法值通過(guò)括號(hào)包括,不同合法值由逗號(hào)分隔
- NOT操作符可以否定后面所跟的條件
第八章:使用通配符進(jìn)行過(guò)濾
- LIKE操作符:為在搜索子句中使用通配符,必須使用LIKE操作符,它指示后面跟的搜索模式利用通配符而不是直接相等匹配進(jìn)行比較
- % 通配符:表示任何字符出現(xiàn)任意次數(shù)(0次也算),但不匹配N(xiāo)ULL
SELECT prod_id,
prod_name,
prod_price
FROM products
WHERE prod_name LIKE ‘jet%’;
- _ 通配符:只匹配單個(gè)字符
通配符搜索的處理一般會(huì)比前面幾章討論的搜索更費(fèi)時(shí)間
第九章:用正則表達(dá)式進(jìn)行搜索
- 基本字符匹配:
SELECT prod_id,
prod_name,
prod_price
FROM products
WHERE prod_name REGEXP ‘.1000’;
REGEXP告訴MYSQL其后面所跟的東西為正則表達(dá)式。其中'.' 是正則表達(dá)式語(yǔ)言中一個(gè)特殊的字符,可以匹配任意一個(gè)字符
- LIKE與REGEXP之間的差別:LIKE匹配整個(gè)列(所尋找的東西必須在列值里面完全匹配,不能多或少,不能只是部分匹配);REGEXP在列值中匹配,匹配成功會(huì)返回相應(yīng)的行
- 進(jìn)行 | (or)匹配:
SELECT prod_id,
prod_name,
prod_price
FROM products
WHERE prod_name REGEXP ‘1000|2000’;
- 匹配幾個(gè)字符之一([ ] 括號(hào),另一種形式的or):
SELECT prod_id,
prod_name,
prod_price
FROM products
WHERE prod_name REGEXP ‘[123] ton’;#/ [A-Z] [1-9]可以是范圍
- 在mysql中匹配特殊字符要用 \ 進(jìn)行轉(zhuǎn)義
第十章:創(chuàng)建計(jì)算字段
- 拼接字段CONCAT函數(shù):
SELECT CONCAT(vend_name,’(’,vend_country,’)’) AS name(country)
FROM products ;#將兩列整合成為一列,命名為name(country)
- 執(zhí)行算數(shù)計(jì)算:
SELECT prod_id,
prod_name,
prod_price*prod_numbers AS price
FROM products ;
*、-、+、/ 都可以在mysql中使用,進(jìn)行計(jì)算
第十一章:使用數(shù)據(jù)處理函數(shù)
- 文本處理函數(shù):
SELECT prod_id,
prod_name,
RTrim(prod_price)
FROM products
WHERE prod_name LIKE ‘jet%’;
- 函數(shù):
LFET()返回串左邊的字符、
LENGTH()返回串的長(zhǎng)度
LOCATE()找出串的子串
LOWER()將串轉(zhuǎn)換為小寫(xiě)
LTRIM()去掉串左邊的空格
RIGHT()返回串右邊的字符
RTRIM()去掉串右邊的空格
SOUNDEX()返回串的soundex值
SUBSTRING()返回子串的字符
UPPER()將串轉(zhuǎn)換為大寫(xiě)
第十二章:匯總數(shù)據(jù)
- 聚集函數(shù):
AVG()返回某列的平均值
COUNT()返回某列的行數(shù)
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列值之和
- COUNT(*)對(duì)表中行的數(shù)目進(jìn)行計(jì)數(shù),不管是否包含NULL。COUNT(column)對(duì)特定列中具有值的行進(jìn)行計(jì)算(忽略NULL)
第十三章:分組數(shù)據(jù)
- 創(chuàng)建分組GROUP BY:
SELECT vend_id,
COUNT(*) AS num_prods
FROM products
GROUP BY vend_id;
GROUP BY vend_id表示按vend_id排序并分組數(shù)據(jù)。
- GROUP BY子句的規(guī)定:
1、子句中列出來(lái)的每個(gè)列都必須是檢索列或有效的表達(dá)式(但不能是聚集函數(shù))
2、SELECT語(yǔ)句中的每個(gè)列都必須在GROUP BY子句中給出
NULL會(huì)被作為一個(gè)分組 - 過(guò)濾分組HAVING:這邊不能用WHERE,WHERE過(guò)濾指定的是行而不是分組
SELECT vend_id,
COUNT(*) AS num_prods
FROM products
GROUP BY vend_id HAVING COUNT(*)>=2;
1、 HAVING支持所有WHERE操作符
2、 HAVING在數(shù)據(jù)分組后過(guò)濾,而WHERE在數(shù)據(jù)分組前過(guò)濾
第十四章:使用子查詢(xún)
- 子查詢(xún):嵌套在其他查詢(xún)中的查詢(xún)
SELECT cust_id
FROM orders
WHERE order_num IN ( SELECT order_num
FROM orderitems
WHERE prod_id = ‘TNT2’);# 這邊先執(zhí)行括號(hào)內(nèi)的查詢(xún)。
WHERE子句中對(duì)能嵌套的子查詢(xún)數(shù)目沒(méi)有限制,但是會(huì)受到性能限制
- 作為計(jì)算字段使用子查詢(xún):
SELECT cust_name,
cust_state,
( SELECT COUNT(*)
FROM orders
WHERE orders.cust_id = customers.cust_id) AS orders
FROM customers;
第十五章:聯(lián)結(jié)表
- 完全限定列名:在引用的列可能出現(xiàn)二義性的時(shí)候,必須使用完全限定列名(用一個(gè)點(diǎn)分割的表名和列名)
- 創(chuàng)建聯(lián)結(jié):
SELECT prod_id,
prod_name,
vend_name
FROM products,vendors
WHERE vendors.vend_id = products.vend_id;
這個(gè)聯(lián)結(jié)可被稱(chēng)為等值聯(lián)結(jié),它是基于兩個(gè)表的相等測(cè)試,也被稱(chēng)為內(nèi)部聯(lián)結(jié)
- 使用INNER JOIN 子句建立內(nèi)部聯(lián)結(jié):
SELECT prod_id,
prod_name,
vend_name
FROM products INNER JOIN vendors ON vendors.vend_id = products.vend_id
- 聯(lián)結(jié)多個(gè)表:
SELECT prod_id,
prod_name,
vend_name,
prod_price,
quantity
FROM products,
vendors,
orderitems
WHERE vendors.vend_id = products.vend_id
AND orderitems.prod_id=products.prod_id; #在WHERE中使用AND
第十六章:創(chuàng)建高級(jí)聯(lián)結(jié)
- 使用表別名:
SELECT cust_name,
cust_contact
FROM customers AS c,
orders AS o,
orderitems AS oi
WHERE c.cust_id=o.cust_id
AND oi.order_num = o.order_num
AND prod_id='TNT2';
FROM 語(yǔ)句中三個(gè)表全部具有別名
- 使用不同類(lèi)型的聯(lián)結(jié)
https://blog.csdn.net/plg17/article/details/78758593
圖解MySQL 內(nèi)連接、外連接、左連接、右連接、全連接
1、自聯(lián)結(jié):
SELECT p1.prod_id,
p1.prod_name
FROM products AS p1,
products AS p2,
WHERE p1.vend_id=p2.vend_id
AND p2.prod_id='DTNTR'
自聯(lián)結(jié)通常作為外部語(yǔ)句用來(lái)替代從相同表中檢索數(shù)據(jù)時(shí)使用的子查詢(xún)語(yǔ)句。
2、自然聯(lián)結(jié):
標(biāo)準(zhǔn)的聯(lián)結(jié)返回所有數(shù)據(jù),甚至相同的列多次出現(xiàn)。自然聯(lián)結(jié)排除多次出現(xiàn),使每個(gè)列只返回一次
SELECT c.*,
o.order_num,
o.order_date,
oi.prod_id,
oi.quantity,
OI.item_price
FROM customers AS c,
orders AS o,
orderitem AS oi
WHERE c.cust_id = o.cust_id
AND oi.order_num=o.order_num
AND prod_id='FB';
自然聯(lián)結(jié)中你只能選擇那些唯一的列,一般通過(guò)對(duì)一個(gè)表使用通配符,對(duì)所有其他表的列使用明確的子集來(lái)完成。
3、外部聯(lián)結(jié)
SELECT customers.cust_id,
orders.order_num
FROM customers INNER JOIN orders
ON customers.cust_id=orders.cust_id;
與內(nèi)部聯(lián)結(jié)關(guān)聯(lián)兩個(gè)表中的行不同的是,外部聯(lián)結(jié)還包括沒(méi)有關(guān)聯(lián)行的行。在使用outer join 語(yǔ)法時(shí),必須使用RIGHT或LFET 關(guān)鍵字指定包括其所有行的表(RIGHT指出的是OUTER JOIN右邊的表,LEFT相反)
第十七章:組合查詢(xún)
在MYSQL中允許多個(gè)查詢(xún)(多條SELECT語(yǔ)句),并將結(jié)果作為單個(gè)查詢(xún)結(jié)果返回。這些組合查詢(xún)成為并或復(fù)合查詢(xún)。
- 使用UNION:給出每條SELECT語(yǔ)句,在各條語(yǔ)句之間放上UNION
SELECT vend_id,prod_id,prod_price
FROM products
WHERE prod_price <=5
UNION
SELECT vend_id,prod_id,prod_price
FROM products
WHERE vend_id IN (1001,1002)
UNION有著一些規(guī)則:
1、UNION中每個(gè)查詢(xún)必須包含相同的列、表達(dá)式或聚集函數(shù)
2、列數(shù)據(jù)類(lèi)型必須兼容
- 包含或者取消重復(fù)的行
UNION會(huì)自動(dòng)從查詢(xún)結(jié)果集中自動(dòng)去除重復(fù)的行
在用UNION組合查詢(xún)時(shí),只能使用一條ORDER BY子句,它必須出現(xiàn)在最后一條SELECT語(yǔ)句
第十八章:使用全文本搜索
MYSQL可創(chuàng)建指定列中各詞的一個(gè)索引,然后針對(duì)這些詞進(jìn)行搜索
- FULLTEXT子句的使用:針對(duì)某一列進(jìn)行索引的建立
CREATE TABLE productnotes
(
note_id int NOT NULL AUTO_INCREMENT,
prod_id char(10) NOT NULL,
note_date datetime NOTNULL,
note_text text NULL,
PRIMARY KEY(note_id),
FULLTEXT(note_text)
)
這里FULLTEXT對(duì)note_id進(jìn)行索引的建立,可以同時(shí)對(duì)多個(gè)列進(jìn)行索引的建立。
可以在創(chuàng)建表的時(shí)候指定FULLTEXT,也可以稍后指定。但一般不要在導(dǎo)入數(shù)據(jù)的時(shí)候使用,這樣要花掉很多時(shí)間,可以先導(dǎo)入數(shù)據(jù),再對(duì)表進(jìn)行修改(定義FULLTEXT)
- 進(jìn)行全文搜索
在建立索引之后,使用Match()和Against()執(zhí)行全文本搜索,Match()指定被搜索的列,Against()指定要使用的搜索表達(dá)式
SELECT note_text
FROM productnotes
WHERE Match(note_text) Against(‘rabbit’);
可以同時(shí)指定多個(gè)列和多個(gè)搜索表達(dá)式,得到的結(jié)果是經(jīng)過(guò)排序的(按照等級(jí))
- 使用查詢(xún)拓展
查詢(xún)拓展可以放寬返回的范圍
SELECT note_text
FROM productnotes
WHERE Match(note_text) Against(‘rabbit’ WITH QUERY EXPANSION);
- 布爾文本搜索(IN BOOLEAN MODE 子句)
布爾文本搜索可以指定:
1、要排除的詞
2、要匹配的詞
3、排列提示(對(duì)某些詞進(jìn)行等級(jí)設(shè)定)
4、表達(dá)式分組
SELECT note_text
FROM productnotes
WHERE Match(note_text) Against(‘hravy -rabbit*’ IN BOOLEAN MODE );
這個(gè)語(yǔ)句表示匹配hravy而排除以rabbit開(kāi)頭的詞。
更多的全文本布爾操作符:

全文本搜索有著一些重要的使用說(shuō)明
第十九章:插入數(shù)據(jù)
- 插入完整的行
插入完整的行不需要指定列名
INSERT INTO Customers
VALUES(
NULL
'Pep E. LaPew',
'100 Main Street',
'Los Angeles',
'CA',
'90046',
'USA',
NULL,
NULL)
Customers表的第一列是cust_id,為自動(dòng)增量,但不能省略輸入,所以用NULL
- 按列名插入
INSERT INTO Customer(
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
cust_contract,
cust_email
)
VALUES(
'Pep E. LaPew',
NULL,
'100 Main Street',
'Los Angeles',
'CA',
'90046',
'USA',
)
給出了列名,并按列名排序填充值,這時(shí)可以省略某些列(有默認(rèn)值與允許定義為NULL的列)
- 同時(shí)插入多行
可以用多個(gè)INSERT語(yǔ)句或者:
INSERT INTO Customer(
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
cust_contract,
cust_email
)
VALUES(
'Pep E. LaPew',
NULL,
'100 Main Street',
'Los Angeles',
'CA',
'90046',
'USA',
)
(
'Pep E. LaPew',
NULL,
'100 Main Street',
'Los Angeles',
'CA',
'90046',
'USA',
)
- 插入檢索出的數(shù)據(jù)
可以將查詢(xún)出的數(shù)據(jù)插入到另外一個(gè)表中
INSERT INTO Customer(
cust_id,
cust_contract,
cust_email,
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country,
)
SELECT cust_id,
cust_contract,
cust_email,
cust_name,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_country
FROM custnew;
從custnew表中查詢(xún)出數(shù)據(jù),然后插入Customer中
第二十章:更新和刪除數(shù)據(jù)
- UPDATE
UPDATE cusromers
SET cust_email='elmer@fudd.com',
cust_name='The Fudds'
WHERE cust_id=10005;
一定要注意使用WHERE子句,如果沒(méi)有這個(gè)子句,它將更新整個(gè)表
可以在UPDATE中使用子查詢(xún)
在UPDATE更新出現(xiàn)錯(cuò)誤,但是想忽略它繼續(xù)執(zhí)行的時(shí)候,可以使用IGNORE關(guān)鍵字(沒(méi)有使用這個(gè)關(guān)鍵字,UPDATE將停止,并恢復(fù)原來(lái)的值):UPDATE IGNORE customers....
- 刪除數(shù)據(jù)
DELETE:刪除行
DELETE FROM customers
WHERE cust_id =100006;
更新和刪除數(shù)據(jù)都要記得使用WHERE子句,最好先使用SELECT子句先進(jìn)行測(cè)試,以保證正確的刪除范圍。還要使用強(qiáng)制實(shí)施引用完整性的數(shù)據(jù)庫(kù),讓MYSQL不允許刪除具有與其他表相關(guān)聯(lián)的數(shù)據(jù)的行
第二十一章:創(chuàng)建和操縱表
- 創(chuàng)建表
創(chuàng)建表和數(shù)據(jù)庫(kù)可以使用交互式軟件或mysql語(yǔ)法。
mysql語(yǔ)法使用的是CREATE語(yǔ)句,新表的名字在關(guān)鍵字CREATE TABLE后面給出,表列的名字和定義用逗號(hào)分隔。每列的定義以列名(必須唯一)開(kāi)始,后跟列的數(shù)據(jù)類(lèi)型。
CREATE TABLE customers(
cust_id int NOT NULL AUTO_INCREMENT, //NOT NULL表示不能為空,AUTO_INCREMENT表示自增
cust_contract char(50) NOT NULL,
cust_email char(50) NULL,
cust_name char(50) NULL,
cust_address char(50) NULL,
cust_city char(50) NULL,
cust_state char(50) NULL,
cust_zip char(50) NULL,
cust_country char(50) NULL DEFAULT china,//DEFAULT指定該列的默認(rèn)值
PRIMARY KEY (cust_id,cust_email) //定義主鍵
)ENGINE=InnoDB;//ENGINE=InnoDB指定引擎
在mysql中不會(huì)覆蓋已經(jīng)存在的同名表,需要先刪除該表后才能建同名表。
NULL值表示沒(méi)有值或缺值,在定義列的時(shí)候申明便是允許該列沒(méi)有值。
在mysql中主鍵必須唯一,它可以使用單個(gè)列或者多個(gè)列組合。
SELECT last_insert_id()可以返回最后一個(gè)AUTO_INCREMENT值。
在mysql中多種引擎用來(lái)具體的管理和處理數(shù)據(jù),不同的引擎的功能特性是不一樣的:
InnoDB是一個(gè)可靠的事務(wù)處理引擎,但不支持全文本搜索
MEMORY功能與MYISAM一樣,但在數(shù)據(jù)存儲(chǔ)與內(nèi)存中時(shí),速度很快(適合建立臨時(shí)表)
MyISAM支持全文本搜索,但是不支持事務(wù)處理
引擎類(lèi)型可以混用
- 更新表
更新表使用ALTER TABLE語(yǔ)句,可以更新表定義
ALTER TABLE vendors
ADD vend_phone CHAR(20);
ALTER TABLE vendors
DROP vend_phone CHAR(20);
可以定義外鍵,主鍵
- 刪除表
DROP TABLE customers;
- 重命名表
RENAME TABLE customers TO customers1;
第二十二章:使用視圖
視圖是虛擬的表,與包含數(shù)據(jù)的表不一樣,視圖只包含使用動(dòng)態(tài)檢索數(shù)據(jù)的查詢(xún)。
視圖本身不包含數(shù)據(jù),它返回的數(shù)據(jù)是從其他表中檢索出來(lái)的。
使用視圖
使用CREATE VIEW語(yǔ)句來(lái)創(chuàng)建視圖
使用SHOW CREATE VIEW viewname來(lái)創(chuàng)建視圖的語(yǔ)句
使用DROP VIEW viewname來(lái)刪除視圖
更新視圖時(shí)可以先刪除后再創(chuàng)建或者使用CREATE OR REPLACE VIEW。
第二十三章:使用存儲(chǔ)過(guò)程
第二十四章:使用觸發(fā)器
第二十六章:管理事務(wù)處理
第二十七章:全球化和本地化
第二十八章:安全管理
- 訪(fǎng)問(wèn)控制
用戶(hù)應(yīng)該對(duì)他們需要的數(shù)據(jù)具有適當(dāng)?shù)脑L(fǎng)問(wèn)權(quán),即不能多也不能少。
在使用數(shù)據(jù)庫(kù)中,盡量不要去使用root用戶(hù),而是創(chuàng)建一系列賬號(hào),進(jìn)行管理使用。
管理用戶(hù)
mysql用戶(hù)賬號(hào)信息存儲(chǔ)在名字為mysql的庫(kù)中,在mysql庫(kù)中,有一個(gè)user表,里面包含了所有用戶(hù)賬號(hào)。
- 創(chuàng)建用戶(hù)可使用:CREATE USER
CREATE USER ben IDENTIFIED BY 'password';#創(chuàng)建一個(gè)名為ben的用戶(hù),其密碼時(shí)password
- 重命名用戶(hù)賬號(hào):RENAME USER
RENAME USER ben TO aaa;#將ben重命名為aaa
- 刪除賬戶(hù):DROP USER
- 設(shè)置訪(fǎng)問(wèn)權(quán)限
查看權(quán)限:
SHOW GRANTS FOR ben
設(shè)置權(quán)限:使用GRANT語(yǔ)句,并給出 ‘①要授予的權(quán)限②被授予訪(fǎng)問(wèn)權(quán)限的數(shù)據(jù)庫(kù)或表③用戶(hù)名’ 等信息
GRANT SELECT ON crashcourse.* TO ben #允許ben用戶(hù)在crashcourse.*(crashcourse中的所有表)使用select語(yǔ)句(只讀)。
撤銷(xiāo)權(quán)限:REVOKE,用它來(lái)撤銷(xiāo)特定的權(quán)限。
REVOKE SELECT ON crashcourse.* FROM ben #撤銷(xiāo)ben對(duì)crashcourse.*的select權(quán)限
可以授予和撤銷(xiāo)的每個(gè)權(quán)限:


- 更改密碼
SET PASSWORD FOR ben=Password('newpassword')#Password可以對(duì)密碼進(jìn)行加密