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 ];