在企业开发中一般都会使用innodb引擎(内部支持事务,行级锁。外键等特点),在MYSQL5.5版本之后默认引擎也是innodb。
show create table 列名; --查看引擎为innodb
在开发过程中常见的索引类型有:
- 主键索引:加速查找、不能为空、不能重复。+联合主键索引
- 唯一索引:加速查找、不能重复。+联合唯一索引
- 普通索引:加速查找。+联合索引
a. 主键和联合主键索引
create table 表名(
id int not null auto_increment primary key,
name varchar (32) not null);
create table 表名(
id int not null auto_increment,
name varchar (32) not null,
primary key(列1,列2)); -- 如果有多列,称为联合主键(不常用且myisam引擎支持)
后期添加主键:alter table 表名 add primary key(列名);
后期删除主键:alter table 表名 drop primary key;
注:删除索引时可能会报错,自增列必须定义为键。
alter table 表名 change id id int not null;