申明:以下内容是对课本知识和老师课堂内容的总结,若有侵权请与笔者联系,笔者会及时处理。
# 关系数据库标准语言—SQL
## 3.1 SQL语言的基本概要和特点
### SQL的特点
- 综合统一
- 高度非过程化
- 一种语言提供多种使用方式
- 语言简洁 易学易用
- 面向集合的操作方式
** SQL语言动词一览 **
数据定义 CREATE ALTER DROP
数据查询 SELECT
数据操纵 UPDATE DELETE INSERT
数据控制 GRANT REMOKE
创建与使用数据表
定义基本表
修改基本表
删除基本表
|操作对象| 创建 |删除 |修改 |
|表 |Create table |Drop table |ALTER TABLE|
|视图 |Create view |Drop view | \ |
|索引 |Create index |Drop index | \ |
## 定义基本表
CREATE TABLE 表名
(列名 数据类型 约束条件,列名 数据类型 约束条件....);
## 常用完整性约束
主码约束 PRIMARY KEY
唯一性约束 UNIQUE
非空值约束 NOT NULL
参照完整性约束
## PRIMARY KEY 和 UNIQUE 的区别
- 相同点:
都会建立唯一索引来保证所在列值的唯一性
- 不同点:
PRIMARY KEY 约束 该列不可以为空值,仅可设置一个
UNIQUE 则可以 设为控制 且可以设置多个
不可以将 PK 和UN约束同时设置
## 完整性约束
完整性约束规定了每一个关系实例必须满足的条件
不满足的 修改更新删除 插入 等操作会被拒绝
确保应用程序的语义环境 防止数据的不一致
- 完整性约束 1 主码约束 2 外码约束 3 域约束 4 一般性约束
- 格式 constraint <约束名> <约束条件>
- 修改完整性约束 ALTER TABLE 表名 DROP CONSTRAINT约束名字
## 一般性约束
CREATE TABLE MY( rate INTEGER,no INTEGER,
CHECK(rate>100 AND rate <200));
== 使用 CHECK 关键字 然后 用在创建表时 ==
## 断言ASSERTION
多个表上的完整性约束
- CREATE ASSERTION 断言名 ( 条件 );
- DROP ASSERTION 断言名
## 触发器
触发器是一个过程 他对数据库的特定改变进行响应 由DBMS自动调用
包含三要素
- 事件 激活触发器的数据库改变
- 条件 当触发器激活时运行的查询或检测
- 动作 触发器被激活且条件为真时 DBMS执行的过程
### 触发器的作用
- 维护数据的完整性
- 提醒用户不寻常事情的发生
- 产生事件的日志 同时支持审计和安全性检查
- 用于工作流管理 和 保证商业规则
## 修改基本表 ALTER
ALTER TABLE 表名 ADD 完整性约束条件或者列;
DROP 删除完整性约束条件或者列;
MOD