加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

SQL中DDL,DML,DCL,DQL,TCL分别是什么

发布时间:2020-12-12 02:24:56 所属栏目:MySql教程 来源:网络整理
导读:SQL简介 SQL(Structure Query Language)语言是数据库的核心语言。 SQL的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。 1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R 时改为SQL。 1979年-----ORACL

SQL简介

SQL(Structure Query Language)语言是数据库的核心语言。

SQL的发展是从1974年开始的,其发展过程如下:

1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。

1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R

时改为SQL。

1979年-----ORACLE公司发表第一个基于SQL的商业化RDBMS产品。

1982年-----IBM公司出版第一个RDBMS语言SQL/DS。

1985年-----IBM公司出版第一个RDBMS语言DB2。

1986年-----美国国家标准化组织ANSI宣布SQL作为数据库工业标准。

SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好学的语言)。然而SQL语言由于以上优点,同时也出现了这样一个问题:它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作:

(1)扩充SQL,在SQL中引入过程性结构;

(2)把SQL嵌入到高级语言中,以便一起完成一个完整的应用。

1.? SQL 分为五个部分:

  • 数据查询语言(DQL)

  • 数据操纵语言 (DML)

  • 数据定义语言 (DDL)

  • 数据库控制语言?(DCL)——一般用不到

  • 事务控制语言?(TCL)

2.?数据查询语言(Data QueryLanguage,DQL)

数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE

2.1?查询命令

  • SELECT - 从数据库表中获取数据

子句组成的查询块:

SELECT?<字段名表>??
FROM?<表或视图名>??
WHERE?<查询条件>

3. 数据操纵语言(Data Manipulation Language,DML)

是SQL语言中负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令,因此有很多开发人员都把加上SQL的SELECT语句的四大指令以“CRUD”来称呼。

3.1 主要功能:

DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。

3.2 查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT - 从数据库表中获取数据

  • UPDATE - 更新数据库表中的数据

  • DELETE - 从数据库表中删除数据

  • INSERT INTO - 向数据库表中插入数据

3.3 注意:

严格意义上来说呢。select的是属于 数据查询语言(Data QueryLanguage)但是为了比较容易记忆和区分出操纵数据库和不是操纵数据库。所以我们通常都会把增删改查放在一起。

4. 数据库模式定义语言DDL(Data Definition Language)

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

4.1 SQL 中最重要的 DDL 语句:

  • CREATE DATABASE - 创建新数据库

  • ALTER DATABASE - 修改数据库

  • CREATE TABLE - 创建新表

  • ALTER TABLE - 变更(改变)数据库表

  • DROP TABLE - 删除表

  • CREATE INDEX - 创建索引(搜索键)

  • DROP INDEX - 删除索引

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

是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

常用的语句关键字包括:

  • COMMIT 提交?

  • SAVEPOINT? 保存点?

  • ROLLBACK? ? 回滚?

  • SET TRANSACTION? ?设置当前事务的特性,它对后面的事务没有影响

5.1 commit?提交

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。

5.1.1 显式提交

用COMMIT命令直接完成的提交为显式提交。其格式为:

SQL>COMMIT;

5.1.2?隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:

ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

5.1.3?自动提交

若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:

SQL>SET AUTOCOMMIT ON;


参考:

https://blog.csdn.net/qq_28007533/article/details/72859882?

https://www.cnblogs.com/dato/p/7049343.html

https://baike.baidu.com/item/DML/10035808

https://www.cnblogs.com/fan-yuan/p/7879353.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读