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 <查询条件>