关系数据库标准语言SQL
SQL特点:
(1)综合统一
(2)高度非过程化
(3)面向集合操作
(4)提供多种方式
(5) 语言简洁,易学
SQL支持三级模式结构
数据定义
1.定义模式
CREAT SCHEMA<模式名>AUTHORIZATION<用户名>;
如果没有指定<用户名>,那么<模式名>隐含为<用户名>。
用户可以在创建模式的同时在这个模式中定义进一步创建基本表、视图,定义授权。
CREAT SCHEMA<模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>];
删除
DORP SCHEMA<模式名><CASADE|RESTRE>;
2.定义基本表
CEATE TABLE<表名>(<表名><数据类型>[列级完整约束性条件]
[,<表名><数据类型>[列级完整约束性条件]]
...
[,<表级完整约束性条件>]);
例:
常用的数据类型:
CHAR(n) 长度为n的定长字符串
VARCHAR(n) 最大长度为n的变长字符串
INT INTEGER 长整型(4字节)
SMALLINT 短整型(2字节)
BIGINE 大整型(8字节)
NUMERIC(p,d) 定点数,由p位(不包括符号、小数点)数字组成 小数点后有d为数字
DATE 日期 格式为2023-03-17
TIME 时间 格式为11:43:15
修改基本表
ALTER TABLE<表名>
[ADD [COLUMN]<新列名><数据类型>[完整性约束]]
[ADD<表级完整性约束>]
[DORP[COLUMN]<列名>[CASCADE|RESTRICT]]
[DROP CONSTRAINT<完整性约束名>[RESTRICT|CASCADE]]
[ALTER COLUMN]<列名><数据类型>];
删除基本表
DORP TABLE<表名>[RESTRIC|CASCADE];
若选择RESTRIC 则是有条件的删除。不能有约束所引用,不能有视图,触发器 存储过程和函数等。
若选择CASCADE,则是无条件的删除。 相关的依赖对象,一起被删除。
索引
索引的建立
CREAT[UNIQUE][CLUSTER] INDEX<索引名>
ON<表名>(<列名>[<次序>][,<列名>[<次序>]]...);
修改
ALTER INDEX<旧索引名> RENAME TO<新索引名>;
删除
DORP INDEX<索引名>;