龙空技术网

SQL中DML、DDL和DCL命令的区别

刚哥带你豁 495

前言:

目前同学们对“mysql ddl dml dcl”大概比较讲究,我们都需要剖析一些“mysql ddl dml dcl”的相关知识。那么小编在网上网罗了一些有关“mysql ddl dml dcl””的相关知识,希望姐妹们能喜欢,我们快快来学习一下吧!

SQL(Structure Query Language)结构化查询语言是数据库的核心语言,是ANSI标准的计算机语言,ANSI(美国国家标准化组织),SQL相当于一种标准(可理解为语法),SQL语言有许多不同的版本,不同版本用于不同的数据库,不同的数据库对应不同的数据库管理系统,如MySQl,SQL Server、Access、Oracle、Sybase、DB2等等。不同版本的SQL语言为了符合ANSI标准,在主要命令上大体一致,如:SELECT、UPDATE、DELETE、INSERT、WHERE 等等,不区分大小写,运算符的作用(但运算符的使用格式有所区别)。也有不同点,如:各自的数据类型,安全管理,性能调配,专属于各自的扩展。

使用不同的关系型数据库管理系统创建数据库时,能对比出各自关系型数据库的特征,比如:数据库文件结构(数据库在计算机中真实的存在形式是以文件形式存在)

两者关系:SQL基于关系型数据库与关系型数据库管理系统运行。

基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。

在MySQL中,SQL通常分为DDL、DML和查询,还包括一些其它语句类别。MySQL将SELECT与INSERT、UPDATE、DELETE分别划分到了查询和DML,但是也并非绝对的划分,通常会将SELECT与INSERT、UPDATE、DELETE一起划分为DML。

在SQL Server中,主要分为DDL、DML和DCL三种。DDL包括CREATE、ALTER和DROP,DML包括SELECT、INSERT、UPDATE和DELETE,DCL包括GRANT、DENY、REVOKE。

一、 DQL

DQL (Data Query Language)数据查询语言:

数据检索语句,用于从表中获取数据。通常最常用的为保留字SELECT,并且常与FROM子句、WHERE子句组成查询SQL查询语句。

语法:

SELECT `字段名称` FROM `表名称`

二、DML

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

  DML就是我们最经常用到的 UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一系列操作。

语法:

UPDATE `表名称` SET `字段名称` = ‘新值’ WHERE `字段名称` = ‘某值’

INSERT INTO `表名称` (`字段1`, `字段2`,...) VALUES (‘值1’, ‘值2’,....)

DELETE FROM `表名称` WHERE `字段名称` = ‘值’

三、DPL

DPL(Data Processing Language)事务处理语言:

事务处理语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。

四、DDL

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

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

语法:

CREATE TABLE `表名称`

(

`字段名称1` 数据类型,

`字段名称2` 数据类型,

`字段名称3` 数据类型,

....

)

ALTER TABLE `表名称`

ALTER COLUMN `字段名称` 数据类型

DROP TABLE `表名称`

DROP DATABASE `数据库名称`

五、DCL

DCL(Data Control Language)数据库控制语言:

是用来设置或更改数据库用户或角色权限的语句,包括(GRAND ,REVOKE等)语句。

Example1:

创建本地新用户james,并设定其密码为mypassword。

CREATE USER 'james'@'localhost' IDENTIFIED BY 'mypassword';

Example2:

授予远程用户harden访问所有数据库中的所有表的所有权限,即全局权限。

GRAND ALL ON *.* TO 'harden'@'%';

六、CCL CCL(Cursor Control Language)指针控制语言(CCL)

如DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT是用于对一个或多个表单独行的操作。

标签: #mysql ddl dml dcl #mysql ddl dml dcl dql