MySQL键值

好久不见. 提交于 2020-01-04 09:47:29

键值的种类:普通索引/唯一索引/主键/外键/全文索引
作用:限制字段赋值

1.普通索引index

索引:作用是给字段的值排队,类似于书的目录

1)使用规则:
一个表中可以有多个index字段
字段的值允许重复,且可以赋NULL值
通常把作为查询的字段设置为index字段
index字段的标志是MUL
2)查看:show index from 库.表;
3)创建:create table 表名( … , index(字段名) ); //建表时创建索引
  create index 索引名 表(字段);          //为已存在的表创建索引
4)删除:drop index 索引名 on 表;

2.主键 primary key

给字段的值排序的同时会限制字段赋值

1)使用规则:
字段值不允许重复且不允许赋NULL值
一个表中只能有一个primary key字段
多个字段都作为主键,称为复合主键,必须一起创建
主键字段的标志PRI
主键通常与auto_increment连用
通常把表中唯一标识记录的字段设置为主键
2)查看
3)创建:primary key(字段名)
create table 表 ( 字段 类型(宽度) primary key , 字段2 ... );     //建表时创建主键
alter table 表 add primary key(字段名);     //在已有表添加主键
4)删除
alter table 表 drop primary key ;      
5)创建符合主键(多列一起做主键)
create table 表名( ... , primary key(字段列表) );    
6)auto_increment自增长(相当于i++)
create table 表 ( 字段 类型(宽度) primary key auto_increment, ... );

3.外键 foreign key

插入记录时,字段值在另一个表字段值范围内选择
1)使用规则:
表存储引擎必须是innodb
字段类型要一致
被参照字段必须是索引类型的一种(通常位primary key)
create table 表()engine=innodb;     //如何指定存储引擎
2)查看

show create 表; //通过查看建表命令查看外键名称

3)创建
create table 表 (字段 类型(宽度) , 字段2 类型(宽度) , foreign key(字段名) references 另一个表名(字段名) on update cascade on delete cascade )engine=innodb;     
4)删除
alter table 表 drop foreign key 外键名;     
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!