SQL 入门教程:SQL 语句的语法

目录汇总:SQL 零基础入门教程

为帮助读者在需要时找到相应语句的语法,本文列出了最常使用的 SQL 语句的语法。每条语句以简要的描述开始,然后给出它的语法。为更方便查询,还标注了相应语句所在的部分。

在阅读语句语法时,应该记住以下约定。

  • | 符号用来指出几个选择中的一个,因此,NULL | NOT NULL 表示或者给出 NULL 或者给出 NOT NULL
  • 包含在方括号中的关键字或子句(如 [like this])是可选的。
  • 下面列出的语法几乎对所有 DBMS 都有效。关于具体语法可能变动的细节,建议读者参考自己的 DBMS 文档。

一、ALTER TABLE

ALTER TABLE 用来更新已存在表的结构。为了创建新表,应该使用 CREATE TABLE。详细信息,请参阅 更新表

输入▼

1
2
3
4
5
6
ALTER TABLE tablename
(
  ADD|DROP   column datatype   [NULL|NOT NULL]   [CONSTRAINTS],
  ADD|DROP   column datatype   [NULL|NOT NULL]   [CONSTRAINTS],
    ...
);

二、COMMIT

COMMIT 用来将事务写入数据库。详细内容请参阅 管理事务处理

输入▼

1
COMMIT [TRANSACTION];

三、CREATE INDEX

CREATE INDEX 用于在一个或多个列上创建索引。详细内容请参阅 高级 SQL 特性

输入▼

1
2
CREATE INDEX indexname
ON tablename (column, ...);

四、CREATE PROCEDURE

CREATE PROCEDURE 用于创建存储过程。详细内容请参阅 使用存储过程。正如所述,Oracle 使用的语法稍有不同。

输入▼

1
2
3
CREATE PROCEDURE procedurename [parameters] [options]
AS
SQL statement;

五、CREATE TABLE

CREATE TABLE 用于创建新数据库表。更新已经存在的表的结构,使用 ALTER TABLE。详细内容请参阅 创建表

输入▼

1
2
3
4
5
6
CREATE TABLE tablename
(
    column   datatype   [NULL|NOT NULL]   [CONSTRAINTS],
    column   datatype   [NULL|NOT NULL]   [CONSTRAINTS],
       ...
);

六、CREATE VIEW

CREATE VIEW 用来创建一个或多个表上的新视图。详细内容请参阅 创建视图

输入▼

1
2
3
4
5
6
CREATE VIEW viewname AS
SELECT columns, ...
FROM tables, ...
[WHERE ...]
[GROUP BY ...]
[HAVING ...];

七、DELETE

DELETE 从表中删除一行或多行。详细内容请参阅 删除数据

输入▼

1
2
DELETE FROM tablename
[WHERE ...];

八、DROP

DROP 永久地删除数据库对象(表、视图、索引等)。详细内容请参阅 删除表

输入▼

1
2
DROP INDEX|PROCEDURE|TABLE|VIEW indexname|procedurename|tablename|
viewname;

九、INSERT

INSERT 为表添加一行。详细内容请参阅 数据插入

输入▼

1
2
INSERT INTO tablename [(columns, ...)]
VALUES(values, ...);

十、INSERT SELECT

INSERT SELECTSELECT 的结果插入到一个表。详细内容请参阅 从一个表复制到另一个表

输入▼

1
2
3
INSERT INTO tablename [(columns, ...)]
SELECT columns, ... FROM tablename, ...
[WHERE ...];

十一、ROLLBACK

ROLLBACK 用于撤销一个事务块。详细内容请参阅 管理事务处理

输入▼

1
ROLLBACK [TO savepointname];

或者:

输入▼

1
ROLLBACK TRANSACTION;

十二、SELECT

SELECT 用于从一个或多个表(视图)中检索数据。更多的基本信息,请参阅 SELECT 语句

输入▼

1
2
3
4
5
6
7
SELECT columnname, ...
FROM tablename, ...
[WHERE ...]
[UNION ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...];

十三、UPDATE

UPDATE 更新表中的一行或多行。详细内容请参阅 更新数据

输入▼

1
2
3
UPDATE tablename
SET columname = value, ...
[WHERE ...];

(完)

comments powered by Disqus