索引的基础用法
主键约束
$ CREATE TABLE table_name (
id int(11) PRIMARY KEY,
);
$ CREATE TABLE table_name (
id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
PRIMARY KEY(id)
);
联合主键约束
// 联合主键约束由多个字段组成,要求只要多个字段的组合值是唯一的就可以, 并且每个字段都是非空的
$ CREATE TABLE table_name (
id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
name1 bigint(20) NOT NULL DEFAULT '0' COMMENT '示例字段1',
PRIMARY KEY(id, name1),
);
添加主键约束
$ alter table table_name add PRIMARY KEY (id);
删除主键约束
$ alter table table_name drop PRIMARY KEY;
自增约束(AUTO_INCREMENT)
// 自主递增的字段由系统自定分配,但是一般是由会在建表的时候会主动指定递增主键的起始值
$ create table table_name {
id int(11) AUTO_INCREMENT COMMENT 'id',
} ENGINE=InnoDB AUTO_INCREMENT= 1 DEFAULT CHARSET=utf8 COMMENT='用户表';
唯一约束 (UNIQUE)
$ CREATE TABLE table_name (
id int(11) AUTO_INCREMENT COMMENT 'id',
name VARCHAR(20),
UNIQUE ix_name (name)
);
添加唯一约束
$ alter table table_name add UNIQUE ix_name (name);
删除主键约束
$ alter table table_name drop index ix_name;
非空约束(NOT NULL) && 默认约束 (DEFAULT)
// 字段值非空
$ create table table_name{
id int(11) NOT NULL AUTO_INCREMENT DEFAULT '0' COMMENT '主键id',
}
使用ALTER 命令添加和删除索引
// 添加普通索引,索引值可出现多次。
$ alter table table_name add index index_name (column_list)
```
#