当前位置: 首页 > article >正文

数据库语言、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提供了丰富的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类型的数据操纵语言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 —— 游语 】


http://www.kler.cn/news/306771.html

相关文章:

  • TextCNN:文本卷积神经网络模型
  • 【安全漏洞】Java-WebSocket 信任管理漏洞
  • 拓扑排序专题篇
  • 前端基础知识(HTML+CSS+JavaScript)
  • 828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0
  • 【Go - 类型断言】
  • Ubuntu下Git使用教程:从入门到实践
  • Java怎么把多个对象的list的数据合并
  • [Android][Reboot/Shutdown] 重启/关机 分析
  • bibtex是什么
  • WPF的**逻辑树**和**可视树**。
  • 2024年数学建模比赛题目及解题代码
  • 初识Linux · 进程(3)
  • 软考架构-面向服务的架构风格
  • 电子废物检测回收系统源码分享
  • STM32点亮第一个LED
  • starUML使用说明文档[简单易懂/清晰明了]||好上手
  • Netty笔记03-组件Channel
  • Android中的Context
  • 接口测试从入门到精通项目实战
  • 【Android 13源码分析】WindowContainer窗口层级-3-实例分析
  • MTC完成右臂抓取放置任务\\放置姿态设置
  • 【SQL】百题计划:SQL判断条件OR的使用。
  • 如何为子域名配置 Nginx 反向代理到 Flask 应用
  • IEEE会议论文引用格式
  • 在 Android 中,事件的分发机制
  • 淘宝商品详情API返回值中的预售与定制信息解析
  • xtu oj 折纸
  • [网络]从零开始的计算机网络基础知识讲解
  • eureka.client.service-url.defaultZone的坑