SQL語句 DCL語句

2021-10-24 01:51:12 字數 3125 閱讀 7680

目錄

資料控制語言

查詢使用者

建立使用者

刪除使用者

修改使用者密碼

忘記管理員使用者密碼解決辦法

檢視許可權

給使用者授權

撤銷授權

管理使用者,對使用者授權的操作,即資料控制語言,用來定義資料庫的訪問許可權和安全級別,及建立使用者。

主要包括建立使用者、給使用者授權、對使用者撤銷授權、查詢使用者授權和刪除使用者等

在預設的四個資料庫中有乙個mysql資料庫,裡面有個user表,這個表就是記錄了我們的資料庫使用者

-- 1. 切換到mysql資料庫

use mysql;

-- 2. 查詢user表

上面表示的是乙個使用者root,萬用字元:% 表示可以在任意主機使用此使用者登入資料庫,而localhost表示只能在本地主機能使用此使用者登入資料庫

* create user 使用者名稱@'ip位址(主機名)' identified by '密碼';

> 使用者只能在指定的ip位址上登入

* create user 使用者名稱@'%' identified by '密碼';

> 使用者可以在任意ip位址上登入

說明關鍵字

使用者名將建立的使用者名稱

主機名(ip位址)

指定該使用者在哪個主機上可以登陸,如果是本地使用者可用 localhost,如果想讓該使用者可以 從任意遠端主機登陸,可以使用萬用字元%

密碼該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器

create user 'zhangsan'@'localhost' identified by '123';例如建立張三使用者在本地資料庫可登入:

建立李四使用者在任意主機可登入此資料庫

再次查詢mysql預設資料庫的user表,得到如下結果:

drop user '使用者名稱'@'ip位址'

例如刪除張三使用者:

方式1:dml方式

update user set password = password('新密碼') where user = '使用者名稱';

update user set password = password('abc') where user = 'lisi';

方式2:dcl方式:

set password for '使用者名稱'@'主機名' = password('新密碼');

set password for 'root'@'localhost' = password('123');

如果我們想要修改使用者密碼,是需要你去登入乙個管理員使用者(比如說root)才能去修改的,但是如果我們忘記root使用者密碼怎麼辦?解決步驟如下:

1. cmd -- > net stop mysql 停止mysql服務

* 需要管理員執行該cmd

2. 使用無驗證方式啟動mysql服務: mysqld --skip-grant-tables

3. 開啟新的cmd視窗,直接輸入mysql命令,敲回車。就可以登入成功

4. use mysql;

5. update user set password = password('你的新密碼') where user = 'root';

6. 關閉兩個視窗

7. 開啟任務管理器,手動結束mysqld.exe 的程序

8. 啟動mysql服務 net start mysql

9. 使用新密碼登入。

show grants for '使用者名稱'@ 'ip位址'

> 檢視指定使用者的許可權

例如:查詢使用者lisi在任意主機上的許可權

show grants for 'lisi'@'%';

* grant 許可權1, … , 許可權n on 資料庫.表名 to '使用者名稱'@'ip位址'

> 許可權、使用者、資料庫

> 給使用者分派在指定的資料庫上的指定的許可權

> 例如;grant create,alter,drop,insert,update,delete,select on mydb1.* to 'user1'@'localhost';

* 給user1使用者分派在mydb1資料庫上所有表的create、alter、drop、insert、update、delete、select許可權

* grant all on 資料庫.* to '使用者名稱'@'ip位址';

> 給使用者分派指定資料庫上表的所有許可權

* grant all on *.* to 'zhangsan'@'localhost';

>給張三使用者授予本地主機在任意資料庫任意表上所有許可權

*表示萬用字元

* revoke 許可權1, … , 許可權n on 資料庫.表名 from '使用者名稱'@'ip位址';

> 撤消指定使用者在指定資料庫上的指定許可權

> 例如;revoke create,alter,drop on mydb1.* from 'user1'@'localhost';

* 撤消user1使用者在本地主機上的mydb1資料庫上的create、alter、drop許可權

Oracle操作語句之DCL語句

dcl 資料庫控制語言 grant,revoke 主要是對資料庫中使用者的一些許可權控制 首先建立乙個使用者 格式 create user 使用者名稱 identitied by 密碼 例如 create user liujd identified by 123 對這個使用者進行授權操作 grant...

SQL語句 limit 語句

select from table limit offset,rows rows offset offset 在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行資料,這個時候怎麼辦呢?不用擔心,mysql 已經為我們提供了上面這樣乙個功能。limit 子句可以被用於強制 select 語句返回...

SQL語句 UPDATE語句

update students set sname abcd gender 1 where sid 1 update students,students2 set students.sname students2.sname,students.gender students2.gender wher...