文章目录
- C.1 ALTER TABLE
- C.2 COMMIT
- C.3 CREATE INDEX
- C.4 CREATE PROCEDURE
- C.5 CREATE TABLE
- C.6 CREATE VIEW
- C.7 DELETE
- C.8 DROP
- C.9 INSERT
- C.10 INSERT SELECT
- C.11 ROLLBACK
- C.12 SELECT
- C.13 UPDATE
为帮助读者在需要时找到相应语句的语法,本附录列出了最常使用的SQL语句的语法。每条语句以简要的描述开始,然后给出它的语法。为更方便查询,还标注了相应语句所在的课。
在阅读语句语法时,应该记住以下约定。
- |符号用来指出几个选择中的一个,因此,NULL | NOT NULL表示或者给出NULL或者给出NOT NULL。
- 包含在方括号中的关键字或子句(如[like this])是可选的。
- 下面列出的语法几乎对所有DBMS都有效。关于具体语法可能变动的细节,建议读者参考自己的DBMS文档。
C.1 ALTER TABLE
ALTER TABLE用来更新已存在表的结构。为了创建新表,应该使用CREATE TABLE。详细信息,请参阅第17课。
输入▼
ALTER TABLE tablename (ADD|DROP column datatype [NULL|NOT NULL] [CONSTRAINTS], ADD|DROP column datatype [NULL|NOT NULL] [CONSTRAINTS], ...
);
C.2 COMMIT
COMMIT用来将事务写入数据库。详细内容请参阅第20课。
输入▼
COMMIT [TRANSACTION];
C.3 CREATE INDEX
CREATE INDEX用于在一个或多个列上创建索引。详细内容请参阅第22课。
输入▼
CREATE INDEX indexname
ON tablename (column,...);
C.4 CREATE PROCEDURE
CREATE PROCEDURE用于创建存储过程。详细内容请参阅第19课。正如所述,Oracle使用的语法稍有不同。
输入▼
CREATE PROCEDURE procedurename [parameters]
[options]
AS
SQL statement;
C.5 CREATE TABLE
CREATE TABLE用于创建新数据库表。更新已经存在的表的结构,使用ALTER TABLE。详细内容请参阅第17课。
输入▼
CREATE TABLE tablename (column datatype [NULL|NOT NULL] [CONSTRAINTS],column datatype [NULL|NOT NULL] [CONSTRAINTS],...);
C.6 CREATE VIEW
CREATE VIEW用来创建一个或多个表上的新视图。详细内容请参阅第18课。
输入▼
CREATE VIEW viewname AS
SELECT columns, ...
FROM tables, ...
[WHERE ...]
[GROUP BY ...]
[HAVING ...];
C.7 DELETE
DELETE从表中删除一行或多行。详细内容请参阅第16课。
输入▼
DELETE FROM tablename
[WHERE ...];
C.8 DROP
DROP永久地删除数据库对象(表、视图、索引等)。详细内容请参阅第17、18课。
输入▼
DROP INDEX|PROCEDURE|TABLE|VIEW
indexname|procedurename|tablename|viewname;
C.9 INSERT
INSERT为表添加一行。详细内容请参阅第15课。
输入▼
INSERT INTO tablename [(columns, ...)]
VALUES(values, ...);
C.10 INSERT SELECT
INSERT SELECT将SELECT的结果插入到一个表。详细内容请参阅第15课。
输入▼
INSERT INTO tablename [(columns, ...)]
SELECT columns, ...
FROM tablename, ...
[WHERE ...];
C.11 ROLLBACK
ROLLBACK用于撤销一个事务块。详细内容请参阅第20课。
输入▼
ROLLBACK [ TO savepointname];
或者:
输入▼
ROLLBACK TRANSACTION;
C.12 SELECT
SELECT用于从一个或多个表(视图)中检索数据。更多的基本信息,请参阅第2、3、4课(2~14课都与SELECT有关)。
输入▼
SELECT columnname, ...FROM tablename, ...
[WHERE ...]
[UNION ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...];
C.13 UPDATE
UPDATE更新表中的一行或多行。详细内容请参阅第16课。
输入▼
UPDATE tablename
SET columname = value, ...
[WHERE ...];
上一篇:第22课 SQL入门之高级SQL特性