数据库-结构化查询语言 SQL
文章目录
数据查询语言DQL
单表查询
SELECT [All丨DISTINCT]<目标列表达式>
FROM <表名或视图名>
WHERE <条件表达式>
不能用聚集函数
GROUP BY <列名> HAVING <条件表达式>
ORDER BY <列名> [ASC丨DESC]
-
若干列
- 指定列
- 全部列 *
- 经计算的值(算术表达式 字符串常量 函数)
-
若干元组
-
消除重复的行 [DISTINCT]
-
满足条件的元组 WHERE
- 比较大小
- 确实范围 BETWFEN AND
- 确定集合 IN
- 字符匹配 LIKE
- 空值查询 IS NULL
-
-
ORDER BY子句
-
聚集函数
- SELECT HAVING子句
-
GROUP BY子句
- HAVING子句
连接查询
-
等值与非等值连接查询
-
自身连接
-
多表连接
-
外连接
- FROM
嵌套查询
- 带有IN谓词的子查询
- ~比较运算符
- ~ANY SOME All
- ~EXISTS
集合查询
- 并UNION
- 交INTERSECT
- 差EXCEPT
基于派生表的查询
数据定义语言DDL
操作对象
- 创建
- 删除
- 修改
模式 SCHEMA
-
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
-
DROP SCHEMA <模式名> <CASCADE|RESTRICT>
表 TABLE
-
CREATE TABLE <表名> (<列名><数据类型>[完整性约束条件])
-
DROP TABLE <表名> [CASCADE|RESTRICT]
-
ALTER TABLE <表名> [略]
视图 VIEW
-
CREATE VIEW <视图名> AS <子查询>
-
DROP VIEW <视图名> [CASCADE]
索引 INDEX
-
CREATE UNIQUE [CLUSTER] INDEX <索引名> ON <表名>
-
DROP INDEX <索引名>
-
ALTER INDEX <旧索引名> RENAMETO <新索引名>
数据操纵语言DML
插入数据
-
INSERT INTO 表(字段1、字段2) VALUES (value1,value2);
-
INSERT INTO 表(字段1、字段2) VALUES (value1,value2), (value3,value4),
修改数据
-
UPDATE 表 SET 字段1=value1 WHERE 条件
删除数据
-
DELETE FROM 表 WHERE 条件