SQL 语法规则
- SQL语句总是以关键字开始
- SQL语句以分号结尾
- SQL不区分大小写
SQL语句结构
结构化查询语言包含6个部分:
数据查询语言(DQL:Data Query Language):用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
- SELECT 语句用于从数据库中选择数据。返回的数据存储在结果表中,称为结果集。
- SELECT DISTINCT 语句用于返回唯一不同的值。
- WHERE 子句用于提取那些满足指定条件的记录。
- 算术运算符
- 比较运算符
- 逻辑运算符
- AND & OR 运算符用于基于一个以上的条件对记录进行过滤。
- LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
- IN &NOT IN操作符允许在 WHERE 子句中规定多个值。
- BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。
- ALL 用于将值与另一个值集中的所有值进行比较
- EXISTS 用于搜索指定表中是否存在满足特定条件的行
- IS NULL & IS NOT NULL 用于将值与NULL值进行比较
- UNIQUE 搜索指定表的每一行的唯一性
- NOT 反转使用它的逻辑运算符的含义
- ORDER BY 关键字用于对结果集进行排序。
- GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
- HAVING 子用于返回筛选分组后的各组数据。
数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
- INSERT INTO 语句用于向表中插入新记录。
- UPDATE 语句用于更新表中的记录。
- DELETE 语句用于删除表中的记录。
事务处理语言(TPL):它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
- COMMIT 提交更改
- ROLLBACK 回滚更改
- SAVEPOINT 在事务内部创建一系列可以 ROLLBACK 的还原点
- RELEASE SAVEPOINT 命令用于删除先前创建的保存点
- SET TRANSACTION 命名事务
数据控制语言(DCL):它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
- GRANT 授予权限
- REVOKE 撤销已授予的权限
数据定义语言(DDL):其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
- CREATE DATABASE 创建新数据库
- ALTER DATABASE 修改数据库
- CREATE TABLE 创建新表
- ALTER TABLE 变更(改变)数据库表
- DROP TABLE 删除表
- CREATE INDEX 创建索引(搜索键)
- DROP INDEX 删除索引
指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。