数据库语言、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 ------ 游语】

相关推荐
猿究院--Cu-Sn合金27 分钟前
Spring Boot + DeepSeek 求职 Agent 实践:工具注册、多轮调用与简历 JD 对比
数据库·人工智能·spring boot·后端·deepseek
IvorySQL30 分钟前
PostgreSQL 日报|Anonymizer 3.3 修复高危漏洞(10 月 29 日)
数据库·postgresql
geovindu40 分钟前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
zyseo81 小时前
谷歌SEO 关键词研究完整方法论:从种子词到优先级矩阵
数据库·人工智能·矩阵
PaperData1 小时前
2000-2025年上市公司绿色金融改革创新试验区政策试点DID
数据库
Championship.23.241 小时前
Linux 内存管理深度解析与实战指南(基于 Linux 5.10+)
数据库
迪康coolmu1 小时前
金融客户数据合规落地:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·数据库·经验分享·安全·网络安全·金融
郭小李1 小时前
转发与重定向
java·服务器·数据库
时间售卖铺1 小时前
MySQL事务ACID与隔离级别深度解析
运维·数据库·mysql·云原生
悟道书生1 小时前
Kingbase数据库使用命令来执行init.sql(包含建库建表语句)
数据库·oracle