VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • sql语句大全之SQL语言的分类及语法

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列的升序排序。
1.1.2 SQL语言的分类及语法
2.INSERT语句语法
表1.4 INSERT语句的组件
组件 说明
INSERT INTO 指明要向哪个表中加入行
同时列出指定加入的列,如未指定的对象为表中的每一列
VALUES 指明在列表中各列的填充值
SELECT SELECT语句返回被加到表中的各行
● 一个简单的INSERT语句:
INSERT INTO authors

VALUES
(‘FZ1234’,’张三’,’1234567’,’深圳幸运计算机公司’,’350002’,’本文作者’)
这样,便向表中加入了一条记录。
我们也可以指明用哪几列来填充,看下面的例子;
● 一个简单的INSERT语句:
INSERT INTO authors(id,name,phone)
VALUES (‘FZ3456’,’李四’,’7654321’)
通过上面两个例子的方法,我们就可以往数据库中添加内容了,需要注意的是,我们插入值(包含在VALUES部分中的)要按照INSERT INTO 部分中指明的列的顺序,或是在未指明的条件下按照数据库原始各列的顺序。
3.UPDATE语句语法
表1.3 UPDATE语句的组件
组件 说明
UPDATE 指明要更新的表
SET 指明用来更新的列和分配给那些列的新值
FROM 指明UPDATE语句所以处理的对象表
WHERE 指明要更新的数据所满足的标准
● 将列设定为确定值:
UPDATE authors
SET zip = ‘350003’
WHERE id = ‘FZ4567’
通过这个语句我们可以把数据库中id为 FZ4567 的条记录的zip列的值改为 350003。这时如果我们无法给出确定的值,比如我们要给 id 为 FZ1234 的那位作者加薪 100 元,则可以这样改写SQL语句语句;
● 基于已有的值来设置新的列值
UPDATE authors
SET salary = salary + 100
WHERE id = ‘FZ1234’
这样,即使不知道authors表中的salary列值,也可以用一条简单的UPDATE语句成功地把薪水增加 100。
1.DELETE语句语法
表1.4 DELETE语句的组件
组件 说明
DELETE FROM 指明要执行删除操作的表
WHERE 指明要删除行所满足的标准
● 删除一个表中的所有值:
DELETE FROM authors
这条语句的执行结果是删除authors表中的所有行。
● 删除一个表中的指定的行
DELETE FROM authors
WHERE id = ‘FZ1234’
这条语句的执行结果是删表authors中id为 FZ1234 的行。
在前面的一部分内容中我们讲述了最常用的SQL语句的基本方法,但这只是SQL语句的一部分,其它的SQL语句由于不常用就不一一讲述了。各位读者如果有兴趣可以参考一些专门的SQL语法资料,这将能使你更好地操纵数据库,更好地通过数据库来帮助你完成你的工作。

相关教程