准备在前面
create database demo_01 default charset=utf8mb4;
use demo_01;
CREATE TABLE `city` (
`city_id` int(11) NOT NULL AUTO_INCREMENT,
`city_name` varchar(50) NOT NULL,
`country_id` int(11) NOT NULL,
PRIMARY KEY (`city_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into `city` (`city_id`, `city_name`, `country_id`) values(1,'西安',1);
insert into `city` (`city_id`, `city_name`, `country_id`) values(2,'NewYork',2);
insert into `city` (`city_id`, `city_name`, `country_id`) values(3,'北京',1);
insert into `city` (`city_id`, `city_name`, `country_id`) values(4,'上海',1);
关于索引的操作
1、创建索引
语法:
create [UNIQUE|FULLTEXT|SPATIAL] index index_name
[USING index_type]
on table_name(index_column_name);
示例:
2、查询索引
语法:
show index from table_name;
示例:
可以看见本来是有一个PRIMARY的索引的,我们新加的所以是idx_city_name
3、删除索引
语法:
drop index index_name on table;
示例:
4、修改指令
语法:
# 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL
alter table tb_name add primary key(column_list);
# 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)
alter table tb_name add unique index_name(column_list);
# 添加普通索引, 索引值可以出现多次。
alter table tb_name add index index_name(column_list);
# 该语句指定了索引为FULLTEXT, 用于全文索引
alter table tb_name add fulltext index_name(column_list);