-
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.2 SELECT语句的组件
组件 | 说明 |
SELECT | 指明要检索的数据的列 |
FROM | 指明从哪(几)个表中进行检索 |
WHERE | 指明返回数据必须满足的标准 |
GROUP BY | 指明返回的列数据通过某些条件来形成组 |
HAVING | 指明返回的集合必须满足的标准 |
ORDER BY | 指明返回的行的排序顺序 |
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 | 包含与指定串相同的模式。此模式将与一个或多个通配符的串相比较 |
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 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语法资料,这将能使你更好地操纵数据库,更好地通过数据库来帮助你完成你的工作。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式