SQL的动词
| SQL功能 | 动词 | 
|---|---|
| 数据查询 | SELECT | 
| 数据定义 | CREATE, DROP, ALTER | 
| 数据操纵 | INSERT, UPDATE, DELETE | 
| 数据控制 | GRANT, REVOKE | 
注:以下[ ]表示方括号的内容可要可不要,|表示或,//表示注释。
一、数据定义
1.CREATE
定义模式
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>;
 注:模式名可省略,则模式名默认为用户名。
定义基本表
CREATE TABLE <表名>
 ( <列名> <数据类型> [ 列级完整性约束条件 ] [ ,
 <列名> <数据类型> [ 列级完整性约束条件 ] ]
 …[ ,
 <表级完整性约束条件> ] );
定义索引
CREATE [ UNIQUE ] [CLUSTER] INDEX <索引名>
 ON <表名>(<列名> [ <次序> ] [,<列名> [ <次序> ] ] …);
其中次序可用:ASC(升序),DESC(降序),默认为升序。
定义视图
CREATE VIEW <视图名> [ (<列名> [ ,<列名> ] …) ]
 AS
 <子查询>
 [ WITH CHECK OPTION ];
2.DROP
删除模式
DROP SCHEMA <模式名><CASCADE | RESTRICT>;
 其中CASCADE表示全部删除,RESTRICT表示拒绝删除。
删除基本表
DROP TABLE <表名> [ RESTRICT | CASCADE ];
 其中默认为RESTRICT。
删除索引
DROP INDEX <索引名>;
删除视图
DROP VIEW <视图名> [ CASCADE ];
3.ALTER
修改基本表
ALTER TABLE <表名>
 [ ADD [ COLUMN ] <新列名><数据类型> [ 完整性约束 ] ]   //加列
 [ ADD <表级完整性约束> ]  //加表级完整性约束
 [ DROP [ COLUMN ] <列名> [ CASCADE | RESTRICT ] ]  //删列
 [ DROP CONSTRAINT<完整性约束名> [ RESTRICT | CASCADE ]
   //删完整性约束条件
 [ ALTER COLUMN <列名><数据类型> ]; //改某一属性的数据类型
修改索引
ALTER INDEX <旧索引名> RENAME TO <索引名>;
二、数据查询
SELECT [ ALL | DISTINCT ] <目标列表达式> [ ,<目标列表达式> ] …
 FROM <表名或视图名> [ ,<表名或视图名> … ]
     | (<SELECT 语句>) [ AS ] <别名>
 [ WHERE <条件表达式> ]
 [ GROUP BY < 列名 1> [ HAVING <条件表达式> ] ]
 [ ORDER BY < 列名 2> [ ASC | DESC ] ];
三、数据操纵
1.INSERT
INSERT
 INTO <表名> [ ( < 属性列 1 > [ ,< 属性列 2 > …) ]
 VALUES ( <常量 1 > [ ,<常量 2 > ] …) ;
2.UPDATE
UPDATE < 表名 >
 SET < 列名 >=< 表达式 > [ ,< 列名 >=< 表达式 > ]…
 [ WHERE < 条件 > ];
3.DELETE
DELETE
 FROM <表名>
 [ WHERE <条件> ];
四、数据控制
1.GRANT
GRANT <权限> [ ,<权限> ] …
 ON < 对象类型 > < 对象名 > [ ,< 对象类型 > < 对象名 > ] …
 TO < 用户 > [ ,< 用户 > ] …
 [ WITH GRANT OPTION ] ;
 其中权限可以是ALL PRIVILEGES,用户可以是PUBLIC。
2.REVOKE
REVOKE <权限> [,<权限> ]…
 ON <对象类型> <对象名> [ ,<对象类型> <对象名> ]…
 FROM <用户> [ ,<用户> ]…[ CASCADE | RESTRICT ];