数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使用
数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使用
简介:
SQL (Structure Query Language):结构化查询语言,一种特殊目的的编程语言,一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
DDL (Data Definition Language):数据库定义语言
- create语句:可以创建数据库和数据库的一些对象。
创建数据库语法:
CREATE DATABASE [database_name];
创建数据库表语法:
CREATE TABLE [table_name]
(
id datatype,
column_name2 datatype,
column_name3 datatype,
...,
PRIMARY KEY (`id`)
);
- drop语句:可以删除数据表、索引、触发程序、条件约束以及数据表的权限等。
删除数据库语法:
DROP DATABASE [database_name];
删除数据库中的表:
DROP TABLE [table_name];
删除数据库表的索引:
-- mysql
ALTER TABLE [table_name] DROP INDEX [index_name];
-- DB2 和 Oracle
DROP INDEX [index_name];
- alter语句:修改数据表定义及属性。
在已经存在的表中添加字段:
ALTER TABLE [table_name] ADD [column_name] [datatype];
-- 房间表添加业态
ALTER TABLE `room_info` ADD COLUMN business_type tinyint(4) DEFAULT '1' COMMENT "业态" AFTER new_room_id;
删除表中已经存在的字段:
ALTER TABLE [table_name] DROP COLUMN [column_name];
修改表中已经存在的字段:
ALTER TABLE [table_name] ALTER COLUMN [column_name] [datatype];
DML (Data Manipulation Language):数据操纵语言
- insert 语句:向数据表中插入记录。
-- 将table_name表中的每一个字段都插入值
INSERT INTO [table_name] VALUES (value1,value2,...);
-- 将table_name表中的特定字段插入值
INSERT INTO [table_name](column_name1, column_name2,...) VALUES (value1, value2,...);
- delete 语句:删除数据表中的一条或多条记录,也可以删除数据表中的所有记录。
DELETE FROM [table_name] WHERE [column_name] = [value];
- update 语句:用于修改已存在表中的记录的内容。
UPDATE [table_name] SET [column_name1] = [value1] WHERE [column_name2] = [value2];
- truncate 语句:清除表中所有数据。
-- 对比drop的操作,仅清除表中的数据
TRUNCATE TABLE [table_name]
DCL (Data Control Language):数据库控制语言
- grant 语句:允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。
-- 向 数据库用户 授权 数据库对象(表、视图、字段)的 权限(select,insert,update,delete)
GRANT <权限> ON <数据对象> FROM <数据库用户>
- revoke 语句:可以废除某用户或某组或所有用户访问权限。
-- 回收 数据库用户 在 数据库对象(表、视图、字段)的 权限(select,insert,update,delete)
REVOKE <权限> ON <数据对象> FROM <数据库用户名>
DQL (Data Query Language):数据查询语言
- select 语句:数据检索语句,用于从表中获取数据。
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
-- 实际使用示例
-- 开启事务t1 BEGIN {TRAN | TRANSACTION} [transaction_name]
begin tran t1;
-- 事务中的多个操作 insert/update/delete
update ...;
insert into ...;
update ...;
delete ...;
-- 事务commit或者rollback
commit;
CCL (Cursor Control Language):指针控制语言
- DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作
数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使用的更多相关文章
- SQL语言:DDL,DML,DCL,DQL,TCL
DDL(Data Definition Language)数据库定义语言 statements are used to define the database structure or schema. ...
- DDL\DML\DCL\DQL
[DML] DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言.具体是指是UPDATE更新.INSERT插入 ...
- DDL DML DCL DQL的区别
原文章出处:http://blog.csdn.net/tomatofly/article/details/5949070 SQL(Structure Query Language)语言是数据库的核心语 ...
- 什么是DDL,DML,DCL
转载自 https://www.2cto.com/database/201610/555167.html DML.DDL.DCL区别 . 总体解释: DML(data manipulation la ...
- DDL DML DCL SQL
https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_ddl SQL The Structured Query Language tha ...
- 数据库中"DDL","DML","DCL"
sql组成:DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert.delete.updateDCL:数据库控制语言 ,关键字:grant.removeDQL:数据 ...
- 数据库:DDL/DML/DCL/TCL基本概念
SQL(Structure Query Language)语言是数据库的核心语言 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: ...
- 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL
作者:泥瓦匠 今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL - Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命 ...
- 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL(转)
今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL – Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命令有CREAT ...
- 数据库中的DDL/DML/DCL解释(转)
DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.CREATE - ...
随机推荐
- java 多线程Thread 子类 定时器Timer
定时器Timer, 定时器分类: 1,指定时间指定任务(明天早上8点准时提醒我起床),相当于linux里面的at命令 2,周期性的执行任务(每隔三分钟闹钟响一次),相当于Linux里面的cron命令 ...
- java 多线程 Thread.join子线程结束父线程再运行;join(long):等待超时毫秒数
Join的使用 目的:当子线程运行结束后,父线程才能再继续运行 /** * @ClassName ThreadJoinExample * @projectName: object1 * @author ...
- libevent源码学习(8):event_signal_map解析
目录event_signal_map结构体向event_signal_map中添加event激活event_signal_map中的event删除event_signal_map中的event以下源码 ...
- c++设计模式概述之中介
代码写的不够规范,目的是为了缩短篇幅,实际中请不要这样做. 1.概述 A.中介模式,主要对象有两类: 中介和用户,类比生活中的房产中介公司,中介手中掌握着用户的资料,当然,用户手中也有中介的联系方式. ...
- 【剑指Offer】包含min函数的栈 解题报告
[剑指Offer]包含min函数的栈 解题报告 标签(空格分隔): 牛客网 题目地址:https://www.nowcoder.com/questionTerminal/beb5aa231adc45b ...
- leetcode1260二维网络迁移
题目 n*m的矩阵,一个整数k,移动矩阵k次.每次移动的操作为: 向右移动(最后一列移动到第一列) 之后,第一列向下移动. 1<=N.M<=50 0<=k<=100 题解 思考 ...
- 实现golang io.Writer支持按照天为单位分割日志
golang中的日志不支持按照天分割,很多开源的日志包都是只支持按照文件大小分割日志,不太利于生产环境中的使用.因此我实现了timewriter,支持: 实现按照天为单位分割日志,可以完美支持gola ...
- 【Java】质数判断
static boolean isPrime(int n) { if(n<=1) { return false; } if(n==2||n==3) { return true; } if(n%6 ...
- BP网络简单实现
目录 BP算法的简单实现 Linear 全连接层 ReLu MSELoss 交叉熵损失函数 BP算法的简单实现 """ BPnet 简易实现 约定输入数据维度为(N, i ...
- <学习opencv>绘画和注释
/*=========================================================================*/ // 绘画 和 注释 /*========= ...