结构化查询语言 SQL(Structured Query Language)由 Boyce 和 Chamberlin 1974 年提出。 由于它功能丰富,语言简洁,备受用户欢迎。经过各计算机公司的不断修改和完善,最终成 为关系数据库的标准语言。 SQL 是一个综合的、功能强大、简洁易学的语言,它集数据查询、数据操纵、数据定 义和数据控制功能于一体。

SQL 是一个非过程化的语言,用户只需提出“做什么”,而不 必关心“怎么做”。大大减轻了用户的负担。SQL 语句有如下三种类型:

(1)数据定义语言 DDL:DDL 用于定义数据库结构。

(2)数据控制语言 DCL:DCL 用于控制对数据库的访问。

(3)数据操纵语言 DML:DML 用于检索查询和更改数据库记录。

SQL 语句及其功能

数据库sql语言可以用来干什么(数据库系统SQL语言简介)(1)

数据查询是数据库的核心操作,下面以数据操纵语言 DML 为例说明 SQL 的形式和简 单应用。

1.SELECT

语句

SELECT 语句的一般格式:

SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>……] FROM<表名>[,<表名>……] [WHERE<条件表达式>]

[GROUP BY<列名 1>

[HAVING<条件表达式>]]

[ORDER BY<列名 2>

[ASC|DESC)) 其中方括号中是可选项,尖括号中是必选项。

SELECT 语句的基本功能是根据 WHERE 子句中的条件表达式,从 FROM 子句指定的 数据表中找出满足条件的记录,并按 SELECT 子句规定的目标列显示查询结果。

SELECT 语句中各部分含义如下: “ALL|DISTINCT”表示有两种选择:

ALL 表示查询结果中所有记录,DISTINCT 表示 去掉查询结果中的重复记录。

“目标列表达式”表示查询结果中包含的列名。用“*”代表全体列。

“FROM”说明要查询的数据来源于哪些表。

“WHERE”说明要查询的数据应满足的条件。

“GROUP BY”说明对查询结果按指定列分组,该属性值相同的记录为一个组。

“HAVING”必须与“GROUP BY”联用,表示提取分组的条件,只有满足 HAVING 条件的分组才会出现在查询结果中。

“ORDER BY”表示对查询结果按指定列进行排序,“ASC|DESC”表示排序方式,ASC 表示升序,DESC 表示降序。

2.INSERT 语句

INSERT 语句的一般格式:

INSERT INTO<表名>[(<列名 1>[,<列名 2>……])] VALUES (<常量 1>[,<常量 2>……])

INSERT 语句的基本功能是将新记录插入到指定表中,<列名 i>是要插入记录的第 i 个 列名,

而<常量 i>是第 i 个列的值。若未指定列名,则表示插入全体列,并在 VALUES 子句 中给出全体列的值。

3.UPDATE 语句 UPDATE 语句的一般格式:

UPDATE<表名>SET<列名 1>=<表达式 1>[,<列名 2>:<表达式 2>……] [WHERE<条件>]

UPDATE 语句的基本功能是修改指定表中满足 WHERE 子句条件的各记录指定列的值,

其中 SET 子句指定用表达式的值替换相应列原值。

4.DELETE 语句 DELETE 语句的一般格式: DELETE FROM<表名> [WHERE<条件>] DELETE 语句的基本功能是删除指定表中满足

WHERE 子句条件的各记录。

若省略 WHERE 子句,表示删除指定表中全体记录。

,