- 约束
(1)非空约束(not null)
(2)唯一性约束(unique): 唯一约束修饰的字段具有唯一性,不能重复。但可以为NULL。
(3)主键约束(primary key)
·主键值是这行记录在这张表中的唯一标识
·主键的分类:
根据主键字段的字段数量划分:单一主键和复合主键
根据主键性质划分:自然主键和业务主键
·一张表的主键约束只能有1个
·mysql提供主键值自增
create table t_user(
id int primary key auto_increment, // id字段自动维护一个自增的数字,从1开始,以1递增。
username varchar(255)
);
(4)外键约束(foreign key)
foreign key(classno) references t_class(cno)
·外键值可以为null
·被引用的字段不一定是主键,但至少具有unique约束 - 常见的存储引擎(了解)
(1) MyISAM:
·MyISAM这种存储引擎不支持事务。
·MyISAM是mysql最常用的存储引擎,但是这种引擎不是默认的。
·MyISAM采用三个文件组织一张表:
xxx.frm(存储格式的文件)
xxx.MYD(存储表中数据的文件)
xxx.MYI(存储表中索引的文件)
·优点:可被压缩,节省存储空间。并且可以转换为只读表,提高检索效率。
·缺点:不支持事务。
(2)InnoDB
·优点:支持事务、行级锁、外键等。这种存储引擎数据的安全得到保障。
·表的结构存储在xxx.frm文件中
·数据存储在tablespace这样的表空间中(逻辑概念),无法被压缩,无法转换成只读。
·这种InnoDB存储引擎在MySQL数据库崩溃之后提供自动恢复机制。
·InnoDB支持级联删除和级联更新。
(3)MEMORY
·缺点:不支持事务。数据容易丢失。因为所有数据和索引都是存储在内存当中的。
·优点:查询速度最快。
·以前叫做HEPA引擎。
(可以想一想每个存储引擎的应用条件)
mypy22-MySQL(5)
最新推荐文章于 2024-11-15 21:53:57 发布