一、概述
数据定义语言(DDL)+数据操纵语言(DML)+数据控制语言(DCL)
SQL功能 | 动词 |
数据查询 | SELECT |
数据定义 | CREATE、DROP、ALTER |
数据操控 | INSERT、UPDATE、DELETE |
数据控制 | GRANT、REVOKE |
二、架构关系
- 一个关系数据库管理系统中可以建立多个数据库
- 一个数据库中可以建立多个模式
- 一个模式下通常包括多个表、视图和索引等数据库对象
三、基本表的定义、删除与修改
1.定义
create table<表名>
(<列名><数据类型>[<列级完整性约束条件>],
<列名><数据类型>[<列级完整性约束条件>],
...
[<表级完整性约束条件>]);
PRIMARY KEY:主码
PRIMARY KEY (主码1,主码2)
UNIQUE:约束
FOREIGN KEY (外码) REFERENCES 被参照表(被参照列)
2.数据类型
数据类型 | 含义 |
CHAR(n), CHARACTER(n) | 长度为n的定长字符串 |
VARCHAR(n), CHARACTERVARYING(n) | 最大长度为n的变长字符串 |
INT, INTEGER | 长整数(4字节) |
SAMLLINT | 短整数(2字节) |
BIGINT | 大整数(8字节) |
CLOB | 字符串大对象 |
BLOB | 二进制大对象 |
FLOAT(n) | 可选精度的浮点数,精度至少为n位数字 |
REAL | 取决于机器精度的单精度浮点数 |
DOUBLE PRECISION | 取决于机器精度的双精度浮点数 |
BOOLEAN | 逻辑布尔量 |
DATE | 日期,包含年、月、日,格式为YYYY-MM-DD |
TIME | 时间,包含一日的时、分、秒,格式为HH:MM:SS |
|
时间戳类型 |
INTERVAL | 时间间隔类型 |
NUMERIC(p, d) | 定点数,由p位数字(不包括符号、小数点)组成,小数点后有d位数字 |
DECIMAL(p, d), DEC(p, d) | 同NUMERIC |
3.插入数据
INSERT INTO <表名> --[(<属性列1>[,<属性列2>...])] (可不写)
VALUES(<常量1>[,<常量2>...])
4.完整性
数据的正确性
数据的相容性
- 实体完整性:主键——PRIMARY KEY(PK)
- 参照完整性:外键——FOREIGN KEY(FK)
- 用户定义的完整性:check短语
- NOT NULL约束
- UNIQUE约束
- 值域约束
完整性约束命名子句
CONSTRAINT<完整性约束条件名><完整性约束条件>
- <完整性约束条件>包括NOT NULL、NUIQUE、PRIMARY KEY、短语、FOREIGN KEY短语、CHECK短语等
5.视图
CREATE VIEW <视图名>[(<列名>[,<列名>]...)]
AS<子查询>
[WITH CHECK OPTION]; --限定