关系数据库标准语言SQL是一个综合的、通用的、功能极强同时又简洁易学的语言。下列关于SQL语言特点的描述中,哪些是正确的?()(多选题)
A、分为模式数据定义语言、外模式数据定义语言、与存储有关的描述语言以及数据操纵语言
B、它可以定义关系模式、录入数据、查询、更新、维护、数据库重构、数据库安全控制等一系列操作要求
C、是一种采用面向记录的操作方式的语言
D、既是自含式语言,又是嵌入式语言
E、具有数据查询、数据定义、数据操纵和数据控制功能
SQL(Structure Query Language,结构化查询语言)是一种在关系型数据库中定义和操纵数据的标准语言。
关系型数据库采用结构化查询语言即SQL作为客户端程序与数据库服务器间沟通的标准接口——客户端发送SQL指令到服务器端,服务器端执行相关的指令并返回其查询的结果。在数据库服务器端执行的SQL指令可以实现各种数据库操作和管理功能,例如:数据的查询和更新(包括添加、修改和删除数据)操作;创建、修改和删除各种数据库对象(如数据表、视图、索引等);数据库用户账户管理、权限管理等。
关系数据语言的共同特点是:语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
表 2-9 SQL语言分类表
分类 | 简介 | 示例 |
DML | 数据操纵语言(Data Manipulation Language,DML):用于改变数据库数据,包括插入新数据的INSERT;删除不需要数据的DELETE;修改存在的数据的UPDATE;合并新旧数据的MERGE。数据更新包括数据的插入、修改和删除等操作,数据更新操作具有一定的风险性,在其执行过程中,DBMS必须保证数据的一致性,以确保数据有效。 | UPDATE INSERT DELETE MERGE SELECT ... FOR UPDATE |
DDL | 数据定义语言(Data Definition Language,DDL):用于建立、修改和删除数据库对象。例如CREATE TABLE可以建立表,ALTER TABLE语句则可对表结构进行修改,DROP TABLE语句用来删除某个表,TRUNCATE命令用来删除数据内容,需要注意的是,DDL语句会自动提交事务。DDL语句用于定义数据的格式和形态,例如定义数据表、视图和索引等数据库对象。在建立数据库时用户首先要使用的就是DDL语句。 | CREATE TABLE/INDEX ALTER TABLE/INDEX DROP TABLE/INDEX TRUNCATE TABLE |
数据控制语言(Data Control Language,DCL):用于执行权限授予和权限收回操作,包括GRANT和REVOKE两条命令。其中,GRANT命令是给用户或者角色授予权限,REVOKE命令则是收回用户或角色所具有的权限。DCL语句会自动提交事务,在应用开发层面很少用到。 | GRANT REVOKE | |
数据查询语言(Data Query Language,DQL):即SELECT语句,用于用户检索数据库数据。在所有SQL语句中,SELECT语句的功能和语法最复杂,最灵活。 | SELECT | |
TCL | 事务控制语言(Transactional Control Language,TCL):用于维护数据的一致性,包括COMMIT、ROLLBACK和SAVEPOINT这3条语句。其中,COMMIT语句用于确认和提交已经进行的数据库改变,ROLLBACK用于撤销已经进行的数据库改变,而SAVEPOINT语句则用于设置保存点,以取消部分数据库改变。 | COMMIT ROLLBACK SAVEPOINT |
会话控制语句(Session Control Statement,SCS):用于动态修改当前用户会话的属性,在应用开发层面极少用到。“ALTER SESSION”用于改变当前会话设置。“SET ROLE”用于启用或禁用角色。 | ALTER SESSION SET ROLE |
其中,TCL和SCS主要是针对Oracle数据库的分类,而DML、DDL、DCL、DQL是通用的分类。
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 文章内容来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。




