mysql中的键和索引!

  • 时间:
  • 浏览:3
  • 来源:大发5分快3APP下载_大发5分快3APP官方

2.索引:索引的作用过后 提高数据的检索效率单位,分为单一索引和生合索引:

单一索引:过后 用某一列数据作为索引,默认是index索引,你这俩 列都都要饱含重复数据;过后 某一列不存在重复数据最好设置成unique形式的索引,比index的索引效率单位更快,在text数据上要使用fulltext索引。

联合索引:为了更进一步提高检索效率单位,每次检索都都要用多列一并进行时,就都都要把这多列设为联合索引,提高索引效率单位,根据多列算是唯一,也分为index索引和unique索引。

联合索引的使用都要注意:非要垮字段使用,比如a b c联合索引 非要a|ab|abc 不想 用上联合索引字段。

一、主键 索引 关系

1.主键:主键的唯一作用过后 唯一标识表中的某一行数据。分为单一主键和生合主键:

单一主键:只用一列就能唯一标识一行。

联合主键:当使用一列过后 非要唯一标示一行的事先,就要采用多列唯一标识一行,过后 联合主键。联合主健多个字段非要一并相同

二、外键和主健的关系

1.外键过后 让表中字段的值在参照表中的字段中选泽的三种约束标示

2.创建外键的条件

被参照字段都可是主键

参照字段和被参照字段都可是相同的数据类型

表的储存引擎都可是innodb

2.1.在创建表时创建外键(满足创建外键的条件下)

create table 表名(字段列表,foreign key(都要创建外键约束的字段) references 被参照表的表名(被参照表的被参照字段) on update cascade on delete cascade)engine=innodb;

过后 外键都要具有唯一标示的事先还都都要在外键上换成主健约束

2.2.在过后 存在的表中创建外键

alter table 表名 add foreign key(字段名) references 参考表名(参考字段名) on update casecade on delete cascade) engine=innodb;

3.创建索引的命令格式

三、语法格式

1.创建主键的命令格式

3.1.创建表的事先创建索引(索引都都要有多个,在以下示例中换成的是三个 多)

create table 表名(字段列表,index(过后 存在字段名),index(过后 存在的字段名));#过后 是联合索引的多个过后 存在字段名用,隔开,记住非要跨字段设置联合索引

默认的索引名和字段名相同

3.2.把过后 存在的表中的字段设置为索引字段

create index 索引名称 on 表名(字段名)

索引名都都要有些人命名 一般使用字段名作为索引名

4.创建唯一索引的命令格式和普通索引的格式例如只都要保证字段记录的唯一性就都都要使用unique关键字

create table 表名(主健字段 字段类型 primary key auto_increment,字段列表);#此措施 在创建联合主健时不可用

1.2.在过后 创建好的表上创建主健(过后 该表中过后 存在数据,且数据违反了主键约束,则无法创建主健,都要处里数据冲突后再创建)

alter table 表名 add primary key(都要设置成主健的字段名) auto_increment;

2.创建外键的命令格式

3.主键一定是索引,过后 索引不一定是主键。三个 多表非要三个 多多主键或联合主键,过后 都都要有多个索引。

主键字段都要非要为空,过后 索引字段都都要为空。

1.1.在创建表时创建主健

create table 表名(字段列表,primary key(都要设置成主健的字段名) auto_increment); #auto_increment 是都要将主健字段设置成自动增长的关键字,过后 主健都有整数类型过后 不都要自动增长的事先不都要该关键字;当都要设置联合主键时,多个都要设置成主健的字段名之间用逗号隔开,过后 非要使用自动增长`

过后