mysql基础知识篇(三) - 常用索引

145 阅读1分钟

索引的基础用法

主键约束

// 唯一标识数据库表中的一条数据的字段,该字段不可为空不会重复
// 写法一:
$ 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) 
``` 

##