SQL學習筆記(6)之DCL語句和事務

DCL語句(Data Control Language,數據控制語言):主要由grant和revoke關鍵字完成

(1)grant:MySQL 賦予用戶權限命令

語法:grant 權限 on 數據庫對象to 用戶

eg、

一、grant 普通數據用戶,查詢、插入、更新、刪除 數據庫中所有表數據的權利。

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'

或者,用一條 MySQL 命令來替代:

grant select, insert, update, delete on testdb.* to common_user@'%'

查看當前用戶(自己)權限:

show grants;

 

查看其他 MySQL 用戶權限:

show grants for dba@localhost;

(2)revoke:撤銷已經賦予給 MySQL 用戶權限的權限。

revoke 跟 grant 的語法差不多,只需要把關鍵字 “to” 換成 “from” 即可:

grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

 

1. grant, revoke 用戶權限後,該用戶只有重新連接 MySQL 數據庫,權限才能生效。

2. 如果想讓授權的用戶,也可以將這些權限 grant 給其他用戶,需要選項 “grant option“

grant select on testdb.* to dba@localhost with grant option;


事務控制:主要由commit,roolback和savepoint三個關鍵字完成。

事務要麼成功,要麼失敗,它是一個不可分割的工作單位;若在執行過程中失敗通過回滾可回到最初狀態。

 commit TRAN 提交事務;

 roolback TRAN 回滾事務,將發生的都忘記,回到起點;

savepoint:創建一個特定標記符,只允許部分回滾。


view視圖:

在 SQL 中,視圖是基於 SQL 語句的結果集的可視化的表。邏輯表;

視圖包含行和列,就像一個真實的表。視圖中的字段就是來自一個或多個數據庫中的真實的表中的字段。我們可以向視圖添加 SQL 函數、WHERE 以及 JOIN 語句,我們也可以提交數據,就像這些來自於某個單一的表。

註釋:數據庫的設計和結構不會受到視圖中的函數、where 或 join 語句的影響。

SQL CREATE VIEW 語法

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition


function函數:用於完成一次特定的計算,具有返回值

procedure存儲過程:用於完成一次完整的業務處理,沒有返回值,但可以通過傳出參數將多個值傳給調用環境
trigger觸發器:相當於一個事件監聽器,當數據庫發生特定事件後,觸發器被觸發,完成相應的處理。


上文參考:http://www.cnblogs.com/hcbin/archive/2010/04/23/1718379.html

http://www.w3school.com.cn/sql/sql_view.asp




發佈了50 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章