2.4 SQL 语 句
通过SQL语句可以执行数据的检索、修改、删除,以及创建、删除数据库对象等功能。数据库厂商在SQL标准的基础上,对SQL语句又有所扩充,使SQL语句的功能变得更强大,且更灵活。
2.4.1 SQL语句概述
每条SQL语句均由一个关键字开头,这个关键字描述了这条语句要产生的动作,如SELECT、CREATE、INSERT、UPDATE等关键字都描述了SQL语句将要执行的动作。每个关键字后都跟了一个子句,子句可以指定语句产生作用的数据,也可以提供语句作用的更详细情况。子句可以包含表名、字段名,还可以包含表达式、常量及其他的一些关键字(例如AND、NOT、OR等)。
在SQL语句中,并不区分大小写。一般来说,SQL语句中的关键字(如SELECT、FROM等)使用大写字母,表名的第一个字母采用大写,而表名的其他字母都采用小写,使用的表中列的名称都采用小写字母。
注意:
在一些数据库中允许指定数据库中使用的名称是否区分大小写。SQL中关键字的大小写并不会影响SQL语句执行结果。但是,SQL语句中数据的大小写对数据库而言则是敏感的。例如,如果数据库存储字符串数据时,字符串均以大写字母的方式存储,而访问时若以小写字母进行比较,则无法找到匹配的字符串,这时就应该进行大小写的转换。
数据的大小写会影响SQL语句的执行结果,由于数据库中的数据对大小写是敏感的。假设存储时名字都是小写,则在查找名字为大写的LIYUAN时,查询将找不到任何记录。所以,在使用数据时应当注意与数据库中存储的数据格式一致。
花括号({})表示至少必须选择一个选项。若选项之间用逗号分隔,则可以选择一个选项也可以选择多个选项。例如,{apple,banana,pear}表示必须从中选择一个或多个,而如果选项用竖线(|)分隔,就只能选择一个选项。例如,{apple | banana | pear}表示必须从中选择一个,而不能选择多个。方括号([ ])表示一个可选项。若选项用竖线分隔,则可以选择一个,也可以不选择。例如,[apple | banana | pear]表示可以从中选择一个或不选择。而如果用逗号分隔,则可以不选择,也可以选择一个或选择多个。例如,[apple,banana,pear]表示可以从中选择一个、多个或不选择。
2.4.2 SQL语句分类
SQL中的操作都是由SQL语句实现的。在SQL标准中都作了定义,主要分为4类:数据定义类、数据操作类、访问控制类、事务控制类。
1. 数据定义类
数据定义语言是指对数据的格式和形态下定义的SQL语言,是用户在建立数据库时首先要考虑的问题,数据定义语言可用来定义数据库、数据表及索引等,详细信息如表2-16所示。
表2-16 数据定义语句
语 句 名 称 |
含 义 |
CREATE DATABASE |
创建数据库 |
CREATE TABLE |
创建表 |
DROP TABLE |
删除表 |
ALTER TABLE |
修改表的结构 |
CREATE VIEW |
创建视图 |
DROP VIEW |
删除视图 |
CREATE INDEX |
创建索引 |
DROP INDEX |
删除索引 |
2. 数据操作类
数据操作语言中包括了插入、修改、删除数据等。数据更新操作对数据库有一定的风险性,数据库管理系统必须在更改期内保护所存储的数据的一致性,确保数据有效,详细信息如表2-17所示。
表2-17 数据操作语句
语 句 名 称 |
含 义 |
INSERT |
添加记录 |
DELETE |
删除记录 |
UPDATE |
修改记录 |
SELECT |
检索数据 |
3. 访问控制类
访问控制语句可实现权限的管理,详细信息如表2-18所示。
表2-18 访问控制语句
语 句 名 称 |
含 义 |
GRANT |
授予权限 |
REVOKE |
分配权限 |
4. 事物控制类
事物控制语句可实现事物的管理,详细信息如表2-19所示。
表2-19 事物控制类
语 句 名 称 |
含 义 |
COMMIT |
提交事务 |
ROLLBACK |
取消事务 |