网站建设知识
MySQL的约束和索引
2025-07-22 11:13  点击:0

MySQL的约束和索引。

一、约束:

1.非空约束 not null;

2.唯一约束 unique(); uk

unique约束的字段,要求必须是唯一的,但null除外。

3.主键约束 primary key (); pk

主键约束=not null+unique

4.外键约束:foreign key() references (参考),fk

constraint fk_dept_id foreign key (dept_id)

references dept(dept_id) ;

示例:

create table member(

id int(10),

phone int(15) unsigned zerofill,

name varchar(30) not null,

constraint uk_name unique(name),

constraint pk_id primary key (id),

constraint fk_dept_id foreign key (dept_id,字段2)

references dept(主表1)(dept_id)

);

二、数据库索引

作用:提高查询速度,确保数据的唯一性

可以加速表和表之间的连接,实现表与表之间的参照完整性

使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间

全文检索字段进行搜索优化;

1.索引的种类

1.1.主键索引(Primary key)

1.2.唯一索引(unique)

1.3.常规索引(index)

作用:快速定位特定数据

alter table emp add index index_name(name);

create index index_name on emp (name);

drop index_name on emp;

alter table emp drop primary key;

1.4.全文索引(full text)

2.索引的准则:

1.索引不是越多越好;

2.不要对经常变动的数据加索引;

3.小数据量的表建议不要加索引;

4.索引一般应加在查找条件的字段;

3.什么时候添加索引?

在 where、order by 子句中经常使用的字段;

字段的值是多个(例如性别字段则不适合);

字段内容不是经常变化的,经常变化的字段,添加索引反而降低性能;

不宜过多添加索引,每添加一条索引都会占用磁盘空间;

个人了解:

存储器、触发器、定时器、视图。