数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使用

简介:

  SQL (Structure Query Language):结构化查询语言,一种特殊目的的编程语言,一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

DDL (Data Definition Language):数据库定义语言

  • create语句:可以创建数据库和数据库的一些对象。

    创建数据库语法:

  1.     CREATE DATABASE [database_name];

    创建数据库表语法: 

  1.     CREATE TABLE [table_name]
  2.     (
  3.     id datatype,
  4.     column_name2 datatype,
  5.     column_name3 datatype,
  6.     ...,
  7.     PRIMARY KEY (`id`)
  8.     );
  • drop语句:可以删除数据表、索引、触发程序、条件约束以及数据表的权限等。

    删除数据库语法:

  1.     DROP DATABASE [database_name];

    删除数据库中的表:

  1.     DROP TABLE [table_name];

    删除数据库表的索引:

  1.     -- mysql
  2.     ALTER TABLE [table_name] DROP INDEX [index_name];
  3.     -- DB2 Oracle
  4.     DROP INDEX [index_name];
  • alter语句:修改数据表定义及属性。

    在已经存在的表中添加字段:

  1.     ALTER TABLE [table_name] ADD [column_name] [datatype];
  2.     -- 房间表添加业态
  3.     ALTER TABLE `room_info` ADD COLUMN business_type tinyint(4) DEFAULT '1' COMMENT "业态" AFTER new_room_id;

    删除表中已经存在的字段:

  1.     ALTER TABLE [table_name] DROP COLUMN [column_name];

    修改表中已经存在的字段:

  1.     ALTER TABLE [table_name] ALTER COLUMN [column_name] [datatype];

DML (Data Manipulation Language):数据操纵语言

  • insert 语句:向数据表中插入记录。
  1.     -- table_name表中的每一个字段都插入值
  2.     INSERT INTO [table_name] VALUES (value1,value2,...);
  3.     -- table_name表中的特定字段插入值
  4.     INSERT INTO [table_name](column_name1, column_name2,...) VALUES (value1, value2,...);
  • delete 语句:删除数据表中的一条或多条记录,也可以删除数据表中的所有记录。
  1.     DELETE FROM [table_name] WHERE [column_name] = [value];
  • update 语句:用于修改已存在表中的记录的内容。
  1.     UPDATE [table_name] SET [column_name1] = [value1] WHERE [column_name2] = [value2];
  • truncate 语句:清除表中所有数据。
  1.     -- 对比drop的操作,仅清除表中的数据
  2.     TRUNCATE TABLE [table_name]

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

  • grant 语句:允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。
  1.     -- 数据库用户 授权 数据库对象(表、视图、字段)的 权限(select,insert,update,delete
  2.     GRANT <权限> ON <数据对象> FROM <数据库用户>
  • revoke 语句:可以废除某用户或某组或所有用户访问权限。
  1.     -- 回收 数据库用户 数据库对象(表、视图、字段)的 权限(select,insert,update,delete
  2.     REVOKE <权限> ON <数据对象> FROM <数据库用户名>

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

  • select 语句:数据检索语句,用于从表中获取数据。
  1.     SELECT [column_name1] FROM [table_name] WHERE [column_name2] = [value2];
  • select 语句中所有关键字书写顺序

    ①SELECT [DISTINCT]

    ②FROM

    ③JOIN

    ④ON

    ⑤WHERE

    ⑥GROUP BY

    ⑦HAVING

    ⑧UNION

    ⑨ORDER BY

    ⑩LIMIT

  • 执行顺序

    ①FROM:将数据从硬盘加载到数据缓冲区,方便对接下来的数据进行操作。
    ②WHERE:从基表或视图中选择满足条件的元组。(不能使用聚合函数)
    ③JOIN:(如right left 右连接-------从右边表中读取某个元组,并且找到该元组在左边表中对应的元组或元组集)
    ④ON:join on实现多表连接查询,推荐该种方式进行多表查询,不使用子查询。
    ⑤GROUP BY:分组,一般和聚合函数一起使用。
    ⑥HAVING:在元组的基础上进行筛选,选出符合条件的元组。(一般与GROUP BY进行连用)
    ⑦SELECT:查询到得所有元组需要罗列的哪些列。
    ⑧DISTINCT:去重的功能。
    ⑨UNION:将多个查询结果合并(默认去掉重复的记录)。
    ⑩ORDER BY:进行相应的排序。
    ⑪LIMIT 1:显示输出一条数据记录(元组)

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

  • 事务处理语句能确保被DML语句影响的表的所有行及时得以更新DPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK
  1.   -- 实际使用示例
  2.   -- 开启事务t1 BEGIN {TRAN | TRANSACTION} [transaction_name]
  3.   begin tran t1;
  4.   -- 事务中的多个操作 insert/update/delete
  5.   update ...;
  6.   insert into ...;
  7.   update ...;
  8.   delete ...;
  9.   -- 事务commit或者rollback
  10.   commit;

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

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

数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使用的更多相关文章

  1. SQL语言:DDL,DML,DCL,DQL,TCL

    DDL(Data Definition Language)数据库定义语言 statements are used to define the database structure or schema. ...

  2. DDL\DML\DCL\DQL

    [DML] DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言.具体是指是UPDATE更新.INSERT插入 ...

  3. DDL DML DCL DQL的区别

    原文章出处:http://blog.csdn.net/tomatofly/article/details/5949070 SQL(Structure Query Language)语言是数据库的核心语 ...

  4. 什么是DDL,DML,DCL

    转载自  https://www.2cto.com/database/201610/555167.html DML.DDL.DCL区别 . 总体解释: DML(data manipulation la ...

  5. DDL DML DCL SQL

    https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_ddl SQL The Structured Query Language tha ...

  6. 数据库中"DDL","DML","DCL"

    sql组成:DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert.delete.updateDCL:数据库控制语言 ,关键字:grant.removeDQL:数据 ...

  7. 数据库:DDL/DML/DCL/TCL基本概念

    SQL(Structure Query Language)语言是数据库的核心语言 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: ...

  8. 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL

    作者:泥瓦匠 今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL - Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命 ...

  9. 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL(转)

    今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL – Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命令有CREAT ...

  10. 数据库中的DDL/DML/DCL解释(转)

    DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.CREATE - ...

随机推荐

  1. socket网络编程基础模块

    更多功能 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) 参数一:地址簇 socket.AF_INET IPv4(默认) socket. ...

  2. 私有化 : _x: 单前置下划线,私有化属性或方法;__xx:双前置下划线;__xx__:双前后下划线;属性property

    私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无 ...

  3. 有个奇怪的问题,配置成/system/index,jsp页面时没有经过过滤器进行拦截,而配置成redirectAction时是可以直接跳转刀片loginJsp.action

    有个奇怪的问题,配置成/system/index,jsp页面时没有经过过滤器进行拦截,而配置成redirectAction时是可以直接跳转刀片loginJsp.action 但是我直接访问/syste ...

  4. SQL注入绕过

    空格字符绕过 %09 TAB建(水平) %0a 新建一行,换行 %0b TAB建(垂直) %0c 新的一页 %0d return 功能 %a0 空格 %00 /**/ /*!*/./*!50009*/ ...

  5. 【LeetCode】1404. 将二进制表示减到 1 的步骤数 Number of Steps to Reduce a Number in Binary Representation to One

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 转成十进制模拟 修改二进制字符串 日期 题目地址:ht ...

  6. 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal 解题报告

    [LeetCode]106. Construct Binary Tree from Inorder and Postorder Traversal 解题报告(Python) 标签: LeetCode ...

  7. <数据结构>并查集与树

    作用 查:给定一个元素,查询它在哪个集合内 并:合并两个元素所在的集合 实现思路 对应关系 元素-->结点 集合-->树 多个集合-->森林 用树的根节点作为不同树的标志 合并时只需 ...

  8. 01 Java基础

    Java基础 01 Hello 随便新建一个文件夹,存放代码 新建一个Java文件 文件后缀名为.java Hello.java [注意点]系统可能没有显示文件后缀名,我们需要手动打开 编写代码  p ...

  9. Java EE数据持久化框架 • 【第2章 MyBatis实现DML操作】

    全部章节   >>>> 本章目录 2.1 标签 2.1.1 标签简单应用 2.1.2 使用JDBC方式返回主键自增的值 2.1.3 使用标签返回普通主键的值 2.1.4 实践练 ...

  10. 编写Java程序,使用 dom4j 创建一个 XML 文档,文档名为“city.xml”。注意该文档的格式和数据

    查看本章节 查看作业目录 需求说明: 使用 dom4j 创建一个 XML 文档,文档名为"city.xml".该文档的格式和数据如图所示 实现思路: 创建Java项目,添加dom4 ...