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 保存点delete in
(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 设置当前事务的特性,它对后⾯的事务没有影响。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论