SQL中DDL,DML,DCL,DQL,TCL分别是什么
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 分为五个部分:
2.?数据查询语言(Data QueryLanguage,DQL)
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 2.1?查询命令
子句组成的查询块:
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 部分:
3.3 注意: 严格意义上来说呢。select的是属于 数据查询语言(Data QueryLanguage)但是为了比较容易记忆和区分出操纵数据库和不是操纵数据库。所以我们通常都会把增删改查放在一起。 4. 数据库模式定义语言DDL(Data Definition Language) SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。 4.1 SQL 中最重要的 DDL 语句:
5. 数据库控制语言DCL(Data Control Language) 是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL 常用的语句关键字包括:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- oracle查询存储过程内容(包体内也可查询)
- MYSQL数据库windows10安装mysql5.7.17教程
- MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程
- Mysql入门MySQL性能优化配置参数之thread_cache和table_cac
- 解决获取某张表信息的时候不发生共享锁
- MYSQL教程Linux下MySql 1036 错误码解决(1036: Table '
- Mysql应用MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别整理
- Mysql必读Windows安装MySQL 5.7.18 解压版的教程
- Mysql必读Centos 7下使用RPM包安装MySQL 5.7.9教程
- MYSQL教程教你如何在MySQL命令行中使用SQL语句的规则