MySQL约束和索引

索引

作用:快速定位特定数据,提高查询效率,确保数据的唯一性,快速定位特定数据;可以加速表和表之间的连接,实现表与表之间的参照完整性,使用分组和排序语句进行数据

检索时,可以显著减少分组和排序的时间全文检索字段进行搜索优化;

索引的种类:

1、主键索引(primary   key):

alter table td_user add primary key(a)

2、唯一索引(unique):

CREATE UNIQUE INDEX indexName ON mytable(username(length))

如:create unique index index_unique_b on td_user(b(20))

3、常规索引(index): CREATE INDEX indexName ON table_name (column_name)

如:create index index_public_c on td_user(c)

4、全文索引(full  text);

alter table td_user add fulltext index_fulltext_d(d)

复制代码
CREATE TABLE `td_user` (
`a` varchar(20) NOT NULL,
`b` varchar(20) DEFAULT NULL,
`c` varchar(30) DEFAULT NULL,
`d` varchar(30) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `index_unique_b` (`b`),
KEY `index_public_c` (`c`(20)),
FULLTEXT KEY `index_fulltext_d` (`d`)
)
复制代码

 

约束

作用:是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具(约束);

1、非空约束:not null;

 指示某列不能存储 NULL 值

2、唯一约束:unique();uk 

创建唯一约束会自动创建唯一索引

unique约束的字段,要求必须是唯一的,但null除外即可以有多个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);

5、自增约束:auto_increment

6、默认约束:default 

给定默认的值

7、检查性约束:check 

保证列中的值符合指定的条件。

示例:

复制代码
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)
);
复制代码

//constraint  uk_name   可以省略不写。uk_name  唯一约束名称;注:

//pk_id     主键约束名称;

//fk_dept_id   外键约束名称

外键约束

用于让两张表建立连接,从而保证数据的完整性和一致性

此时,emp表的dept_id是外键,需要受dept(主表)的约束

posted @   happy_in  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示