偏门的知识又增加了,数据库中常见到的DML和DDL含义(包含DCL说明)。

最近项目在做存储过程的sql开发,用的可视化数据库连接工具叫做dbeaver,数据库驱动是DB2,看到前辈写的一个 dataBaseName.functionName (数据库名称.函数名)(如图A),很奇怪,DB2我也是第一次用到,点进去这个function看到只有两列数据, 第二列叫做DDL,这个列里面记录了几行sql,看起来是返回一个8位数的decimal类型的日期,好奇就去翻了翻百度DDL之类的相关词

(A)

DDL(data definition language)数据库定义语言:

其实就是我们在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上。

1.CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....)

2.ALTER TABLE table_name (或者修改列)

4.DROP TABLE 表名称

5.DROP DATABASE 数据库名称(慎用)

6.create index 创建索引, drop index 删除索引

DML(data manipulation language)数据操纵语言:

这个就很简单啦,日常开发中写操作表数据的sql: SELECT、UPDATE、INSERT、DELETE。

SELECT 列名 FROM 表名

UPDATE 表名 SET 列名 = 新值,列名 = 新值 WHERE 列名称 = 某值

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

DELETE FROM 表名称 WHERE 列名称 = 值

总结下二者区别:

DML是SELECT、UPDATE、INSERT、DELETE,这4条命令是用来对数据库里的数据进行操作的语言。

DDL主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变TABLE的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表或者数据库函数(建立一个function供其他存储过程的sql调用执行)时使用。

           -------------------------------------------------------------------------------------------------------------------------------------------------------

翻的时找到两个新小陆,下面是某不知名大佬给的补充:

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 设置当前事务的特性,它对后面的事务没有影响

 TCL - Transaction Control Language:事务控制语言,COMMIT - 保存已完成的工作,SAVEPOINT - 在事务中设置保存点,可以回滚到此处,ROLLBACK - 回滚,SET TRANSACTION - 改变事务选项

发布了1 篇原创文章 · 获赞 1 · 访问量 75

猜你喜欢

转载自blog.csdn.net/f_u_c_k_le/article/details/105270140