SQL语言的分类及语法
1.1.2 SQL语言的分类及语法
可执行的SQL语句的种类数目之多是惊人的。使用SQL,你可以执行任何功能:从一个简单的表查询,到创建表和存储过程,到设定用户权限。在这个章节中,我们将重点讲述如何从数据库中检索、更新和报告数据,也是基于这个目的,我们应该了解的最重要的SQL语句是:
● SELCET
● INSERT
● UPDATE
● DELETE
● CREAT
● DROP
以上这些命令可简要描述如表1.1所示,这些命令看起来并不困难,在下面的例子中,我们将在实例中应用这些命令,了解其功能。
表1.1 重要的SQL语句
命令
类别
说明
SELECT
数据查询语言
从一个表或多个表中检索列和行
INSERT
数据操纵语言
向一个表中增加行
UPDATE
数据操纵语言
更新表中已存在的行的某几列
DELETE
数据操纵语言
从一个表中删除行
CREATE
数据定义语言
按特定的表模式创建一个新表
DROP
数据定义语言
删除一张表
1.SELECT语句语法
表1.2 SELECT语句的组件
组件
说明
SELECT
指明要检索的数据的列
FROM
指明从哪(几)个表中进行检索
WHERE
指明返回数据必须满足的标准
GROUP BY
指明返回的列数据通过某些条件来形成组
HAVING
指明返回的集合必须满足的标准
ORDER BY
指明返回的行的排序顺序
下面我们对这个重要的语句语法进行示例讲解,需要说明的是这一章节中所涉及到的例子都是基于图1.1描述的表结构。
Authors
id
name
phone
address
zip
salary
contract
图1.1 在test数据库中的authors表的结构
● 一个简单的SELECT语句:
SELECT id,name,phone,zip
From authors
这个简单的查询的结果得出的内容为authors表中返回的选定列的数据。在同样的检索情况下,如果你想缩小范围,比如只想知道住在福州鼓楼地区(邮编为350002)的作者的名字,你可以接着看后面的例子;
● 添加WHERE子句
SELECT id,name,phone,zip
From authors
WHERE zip = ‘350002'
在检索表行时,WHERE子句可以使用多个列作为约束内容,当然在检索约束内容中还可以加入通过AND、OR以实现多个约束。另外,在SELECT语句中我们还可以通过更改比较操作符来改变约束的条件,以达到我们需要的检索目的。我们再看一个例子;
● 完整约束查询
SELECT id,name,phone,zip
From authors
WHERE zip <> ‘350002'AND phone = ‘1234567'
这个例子查询结果返回的是住在福州鼓楼地区以外(邮编号不为350002)的且电话号码为1234567的作者的资料。
表1.3 SELECT语句中支持的比较操作符
操作符
说明
=
等于
>
大于
<
小于
>=
大于等于
<=
小于等于
<>
不等于
IN
位于指定列表值中,或者指定的子查询的结果中
BETWWEEN..AND
位于两个值之间
LIKE
包含与指定串相同的模式。此模式将与一个或多个通配符的串相比较
● 添加ORDER BY子句
SELECT id,name,phone,zip
From authors
WHERE zip = ‘350002 ‘
ORDER BY id
这样,这条SQL语句返回的结果将id列的升序排序。
来源:
http://www.21shine.com/teach/netDB/netdb3.asp