DDL與DML


DDL與DML區別

 

一、DML(data manipulation language)數據操縱語言:

DML(data manipulation language)數據操縱語言:

就是我們最經常用到的 SELECT、duUPDATE、INSERT、DELETE。 主要用來對數據庫的zhi數據進行一些操作dao。

比如:

SELECT 列名稱 FROM 表名稱

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

DELETE FROM 表名稱 WHERE 列名稱 = 值

 

insert 將記錄插入到數據庫 
update 修改數據庫的記錄 
delete 刪除數據庫的記錄
當執行DML命令如果沒有提交,將不會被其他會話看到。

除非在DML命令之后執行了DDL命令或DCL命令,或用戶退出會話,或終止實例,此時系統會自動發出commit命令,使未提交的DML命令提交。

 

二、DDL(data definition language)數據庫定義語言:

數據定義語言,用於定義和管理 SQL 數據庫中的所有對象的語言

create table 創建表     
alter table  修改表   
drop table 刪除表   
truncate table 刪除表中所有行     
create index 創建索引   
drop index  刪除索引

當執行DDL語句時,在每一條語句前后,oracle都將提交當前的事務。
如果用戶使用insert命令將記錄插入到數據庫后,執行了一條DDL語句(如create table),此時來自insert命令的數據將被提交到數據庫。
當DDL語句執行完成時,DDL語句會被自動提交,不能回滾。

 

其實就是我們在創建表的時候用到的一些sql,比如說:CREATE、ALTER、DROP等。DDL主要是用在定義或改變表的結構,數據類型,表之間的鏈接和約束等初始化工作上。

比如:

CREATE TABLE 表名稱(列名稱1 數據類型,列名稱2 數據類型,列名稱3 數據類型,....)ALTER TABLE table_nameALTER COLUMN column_name datatypeDROP TABLE 表名稱DROP DATABASE 數據庫名稱

 

 

三、總結下二者區別:

DML是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對數據庫里的數據進行操作的語言

DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用。

 

擴展資料:

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 設置當前事務的特性,它對后面的事務沒有影響

 

新的總結:

DML是baiSELECT、UPDATE、INSERT、DELETE,就象它的名字一樣du,這4條命令是用來對數據庫里的數據進行操作zhi的語言。DDL比daoDML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用。
一、DDL is Data Definition Language statements. Some examples:
數據定義語言,用於定義和管理 SQL 數據庫中的所有對象的語言
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 收回已經授予的權限。
二、DML is Data Manipulation Language statements.
數據操作語言,SQL中處理數據等操作統稱為數據操縱語言
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 ;
Oracle RDBMS執行每一條SQL語句,都必須經過Oracle優化器的評估。所以,了解優化器是如何選擇(搜索)路徑以及索引是如何被使用的,對優化SQL語句有很大的幫助。Explain可以用來迅速方便地查出對於給定SQL語句中的查詢數據是如何得到的即搜索路徑(我們通常稱為Access Path)。從而使我們選擇最優的查詢方式達到最大的優化效果。
7、LOCK TABLE - control concurrency 鎖,用於控制並發。
三、DCL is Data Control Language statements.
數據控制語言,用來授予或回收訪問數據庫的某種特權,並控制數據庫操縱事務發生的時間及效果,對數據庫實行監視等
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 設置當前事務的特性,它對后面的事務沒有影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM