数据库语言、SQL语言、数据库系统提供的两种语言

1.数据库语言

数据库语言有很多种,其中一种是SQL语言。

2. SQL语言

【几乎所有的关系数据库系统都使用SQL语言。】

SQL语言中包含很多不同的部分,有:

(1)DDL语言(Data definition language),数据定义语言:

用于描述数据库中要存储的现实世界实体的语言。

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

使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。

(3)DCL语言(Data control language),数据库控制语言:

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

关键字:GRANT, REVOKE

(4)TCL语言(Transaction Control Language),事务控制语言:

对事务进行控制的语句,包括commit,rollback等语言。

3.数据库系统提供的两种语言

(1)数据定义语言DDL:用于描述数据库中要存储的现实世界实体的语言。

可说明(三个层次的)数据库模式,或定义数据的其他特征。

DDL的输出放在数据字典(data dictionary)中,数据字典包含元数据(metadata),元数据是关于数据的数据。

DDL包含很多种。

其中,典型地如 数据存储和定义(data storage and definition)语言:

定义了数据库模式的实现细节,而这些细节对用户来说通常是不可见的。

数据存储和定义语言必须由计算机软件进行编译,转换为便于计算机存储、查询和操纵的格式,完成这个转换工作的程序称为模式编译器。

sql 复制代码
SQL提供了丰富的DDL语言。

SQL类型的数据定义语言DDL称为 SQL数据定义语言DDL ,可以用来定义(逻辑层次的逻辑模式中)具有数据类型和完整性约束的表。
关键字: CREATE, ALTER, DROP, RENAME, TRUNCATE 
 
例如:用 SQL数据定义语言DDL 中 的数据存储和定义语言 ,定义一个department表:
	create table department
		(dep5ame char (20), 
		building budget
		char (15), numeric (12,2));

(2)数据操纵语言DML:使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。

DML可分成交互型DML和嵌入型DML两类。

交互型DML:这类DML自成系统,可在终端上直接对数据库进行操作。

嵌入型DML:这类DML是嵌入在主语言中使用。此时主语言是经过扩充能处理DML语句的语言。

依据语言的级别,DML又可分成过程性DML和非过程性DML两种。

过程性DML:用户编程时,不仅需要指出"做什么"(需要什么样的数据),还需要指出"怎么做"(怎么获得数据)。层状、网状的DML属于过程性语言。

非过程性DML:用户编程时,只需要指出"做什么",不需要指出"怎么做"。关系型DML属于非过程性语言。

查询(query)是要求对信息进行检索的语句。

DML中涉及信息检索的部分称作查询语言(query language)。

由此可见,查询语言只属于DML语言中的一种。

sql 复制代码
SQL类型的数据操纵语言DML称为 SQL数据操纵语言DML.
关键字:INSERT, UPDATE, DELETE

SQL数据操纵语言DML中的查询语言(简称SQL查询语言,Data Query Language,简写DQL语言),指SELECT 数据查询语言,是非过程化的。
该SQL查询以几个表作为输入(也可能只有一个表),但总是仅返回一个表。
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块。一般结构为:
SELECT <字段名表>
    FROM <表或视图名>
    WHERE <查询条件>

【参考文章:SQL中的四种语言DML DDL DCL TCL ------ 游语

相关推荐
qq_3392822325 分钟前
postgressql 如何修改模式的所有表的所有者
数据库
西岭千秋雪_1 小时前
Redis性能优化
数据库·redis·笔记·学习·缓存·性能优化
极限实验室1 小时前
INFINI Labs 产品更新 | INFINI Console 1.29.6 发布 – 优化监控图表异常毛刺等
数据库·产品
先睡1 小时前
优化MySQL查询
数据库·sql
小张是铁粉2 小时前
oracle的内存架构学习
数据库·学习·oracle·架构
专注API从业者2 小时前
构建淘宝评论监控系统:API 接口开发与实时数据采集教程
大数据·前端·数据库·oracle
藏在歌词里2 小时前
数据库-元数据表
数据库
小乌龟不会飞3 小时前
Ubuntu 安装 etcd 与 etcd-cpp-apiv3
数据库·etcd
古月居GYH6 小时前
【数据分析】如何在PyCharm中高效配置和使用SQL
ide·sql·pycharm