mysql數據控制語言
1.數據控制語言
用戶管理:
用戶信息的存儲位置:
mysql中的用戶,都存儲在mysql系統的系統數據庫“mysql”中。
2.創建用戶:
create ?user ?‘用戶名’@’允許登錄的位置’???identified ?by ?‘密碼’
舉例:
3.刪除用戶:
drop ?user ?‘用戶名’@’允許登錄的位置’;
修改用戶密碼:
修改自己的密碼:
set??password??=?password(‘新密碼’);
修改他人的密碼(有權限的情況下):
set??password??for??‘用戶名’@’允許登錄的位置’??=?password(‘新密碼’);
4.權限管理:
權限是什么?
權限就是可以做某事的權利,比如可以“insert”(插入),可以create(創建),update,delete。。。。
其中“all”,表示“所有權限”
實際上,在mysql系統中,權限就是如上述這些“單詞”;
有哪些權限呢?
5.細化為:
6.授予用戶權限
grant ?權限1,權限2,…. ?on ?某庫.某下級單位 ?to ?‘用戶名’@’允許登錄的位置’?【identified ?by ‘密碼’】
說明:
1,權限名稱有比如:insert, ?update, ?select, ?delete, create, ?drop ……
2,“某下級單位”是指一個庫中的下級數據元素,目前我們只學了2個:表,視圖;
比如:php44.學生表 ? 或 ?php44.int_test
有兩個特殊寫法:
*.* :表示所有數據庫中的所有下級單位;
某庫.* : 表示該數據庫中的所有下級單位
3, 如果是對現有用戶授予權限,則identified 部分可以省略,如果不省略,就是表示修改其密碼;
而對于一個新用戶(即‘用戶名’@’允許登錄的位置’其實尚不存在),則是identified部分不可以省略,而且,該grant語句,其實就是會創建一個新用戶!
7.也可以授予“所有權限”:
grant?all?privileges?on?php44.*?to?'user1'@'192.168.44.64';
取消用戶權限
revoke ?權限1,權限2,…. ?on ?某庫.某下級單位 ?from ?‘用戶名’@’允許登錄的位置’?
說明:
1各項含義跟grant語句一樣;
2表示將某個用戶在某個數據單位上的某些權限取消。