2017年5月31日,天氣陰。近期事情頗多,心情比較沉重。 端午剛過,早上上課,很多同學還處在端午的疲憊狀態中沒有回過神來,當然我也不例外。端午奔波三天,加上畢設的事情,可以說身心俱疲。狀態不佳,整理了一下以前的筆記,發現很多知識點記憶不清了,甚至有些幾乎沒印象了。下麵把自己對DDL、DML和DCL ...
2017年5月31日,天氣陰。近期事情頗多,心情比較沉重。
端午剛過,早上上課,很多同學還處在端午的疲憊狀態中沒有回過神來,當然我也不例外。端午奔波三天,加上畢設的事情,可以說身心俱疲。狀態不佳,整理了一下以前的筆記,發現很多知識點記憶不清了,甚至有些幾乎沒印象了。下麵把自己對DDL、DML和DCL的區別與理解簡單整理,便於以後查看。
1.DDL(data definition language)——數據定義語言,用於定義和管理 SQL 資料庫中的所有對象的語言
DDL主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用。
(1)CREATE - to create objects in the database 創建
(2)ALTER - alters the structure of the database 修改
(3)DROP - delete objects from the database 刪除
(4)TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed TRUNCATE TABLE [Table Name]。
(5)COMMENT - add comments to the data dictionary 註釋
(6)GRANT - gives user's access privileges to database 授權
(7)REVOKE - withdraw access privileges given with the GRANT command 收回已經授予的許可權
2.DML(data manipulation language)——數據操作語言,SQL中處理數據等操作統稱為數據操縱語言。
它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對資料庫里的數據進行操作的語言。
(1)SELECT - retrieve data from the a database 查詢
(2)INSERT - insert data into a table 添加
(3)UPDATE - updates existing data within a table 更新
(4)DELETE - deletes all records from a table, the space for the records remain 刪除
(5)CALL - call a PL/SQL or Java subprogram
(6)EXPLAIN PLAN - explain access path to data
(7)LOCK TABLE - control concurrency 鎖,用於控制併發
3.DCL(Data Control Language)——數據控制語言,用來授予或回收訪問資料庫的某種特權,並控制資料庫操縱事務發生的時間及效果,對資料庫實行監視等。
資料庫控制功能,用來設置或更改資料庫用戶或角色許可權的語句,包括grant,deny,revoke等語句。在預設狀態下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員才有權力執行DCL 詳細解釋。
(1)COMMIT - save work done 提交
(2)SAVEPOINT - identify a point in a transaction to which you can later roll back 保存點
(3)ROLLBACK - restore database to original since the last COMMIT 回滾
(4)SET TRANSACTION - Change transaction options like what rollback segment to use 設置當前事務的特性,它對後面的事務沒有影響