一、关系数据库基础理论
1 关系模型的三类完整性约束/规则 - 目的:保证数据一致性
实体完整性约束/规则
> 一个实体的每一条记录都要有唯一的标识符,这个标识符所在的属性叫做主关键字
> 对应到数据库就是,完整性约束规定了数据库表要有主键,且主键列对应的行的值要唯一且不能为空
参照完整性约束/规则
> 不应用不存在的实体
> 对应到数据库就是,外键
> 外键可以为空(表示不引用任何实体)
用户自定义完整性约束/规则
> 用户自定义实体的某一个属性所涉及的数据必须满足的语义要求
>CHECK 约束
2 数据库对象
数据字典(也就是系统表,存放数据库相关信息的表)
表(table)
约束(constraint)
视图(view)
索引(index)
函数(function)
存储过程(procedure)
**触发器**(trigger)
(函数、存储过程和触发器属于数据库编程内容。)
3 约束(5)
NOT NULL(非空约束)
> 所有数据类型的值都可以是 null
> 空字符串不等于 null
> 数据库中 null != null
UNIQUE(唯一约束)
> 唯一约束不可以出现重复值,但可以出现多个 null 值,因为 null != null
> 当某列创建唯一约束时,MySQL 会为该列相应地创建唯一索引
> 如果不为唯一约束起名,该唯一约束默认与列名相同
PRIMARY KEY(主键约束)
> 主键约束相当于非空约束和唯一约束
> 不管用户是否为主键约束指定名称,MySQL 总是将所有的主键约束命名为 PRIMARY
>MySQL 在主键约束所在的列或列组合上建立对应的唯一索引
> 主键列支持自增长特性 auto_increment
FOREIGN KEY(外键约束)
> 保证数据表之间的参照完整性
> 建立外键约束时,MySQL 也会为改了建立索引
CHECK(检查约束)(MySQL 不支持 CHECK 约束,虽然在 MySQL 的 SQL 语句中可以使用 CHECK 关键字,但不会产生任何作用)
二、SQL 语句
SQL(Structured Query Language, 结构化查询语言)(不区分大小写)
标准的 SQL 语句可以操纵任何关系型数据库。
标准的 SQL 语句分类:
DDL(Data Definition Language, 数据定义语言)(create, drop, alter)
create databse
create index
create procedure
create view
create trigger
create function
alter table t_name add ...
alter table t_name drop column c_name;
alter table t_name modify ...
DML(Data Manipulation Language, 数据操作语言)(insert, delete, update)
insert into ... values(...)
delete from ...
update ... set ...
DQL(Data Query Language, 数据查询语言)(select)
select ... from ...
DCL(Data Control Language, 数据控制语言)(grant, revoke)(用于为数据库用户授权或回收用户权限)
grant ... on ... to ... with ...
deny ... on ... to ...
事务控制语句(begin, commit, rollback, savepoint)。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于