💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
### 创建索引 #### 建表时: ~~~ mysql> create table 表名( -> id int primary key, //主键索引 -> name varchar(20) unique key, //唯一索引 -> age tinyint, -> intro varchar(20), -> index(age), //普通索引 -> fulltext index(intro), //全文索引 -> index(name,age) //复合索引 ); ~~~ **注意**: **索引可以起名字,但是主索引不能起名字**,因为一个表仅仅可以有一个主键索引,其他索引可以出现多个。名字可以省略,mysql会默认生成,通常使用字段名来充当。 #### 更新表结构 ~~~ alter table 表名 add primary key(id),add unique key(name),add index(age),add fulltext index(intro),add index(name,age) ; ~~~ **注意:** 1. 如果表中存在数据,数据符合唯一或主键约束才可能创建成功. 2. auto_increment属性,依赖于一个KEY(主键或唯一). ### 删除索引 修改表结构时完成: **删除主键索引:** ~~~ alter table 表名 drop primary key; ~~~ 如果在删除主键索引时,该字段中有auto_increment则先去掉该属性再删除。 ~~~ alter table 表名 modify 主键字段名 字段属性; ~~~ **删除其他索引** ~~~ alter table t1 drop index 索引名称; ~~~ 可以通过show create table 表名; 查看索引名称. ~~~ | t1 | CREATE TABLE `t1` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT NULL, `age` tinyint(4) DEFAULT NULL, `intro` varchar(50) DEFAULT NULL, UNIQUE KEY `name` (`name`), KEY `age` (`age`), KEY `name_2` (`name`,`age`), FULLTEXT KEY `intro` (`intro`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | ~~~ ### 查看索引 ~~~ show index from 表名; ~~~ 结果 ~~~ +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | t1 | 0 | PRIMARY | 1 | id | A | 0 | NULL | NULL | | BTREE | | | | t1 | 0 | name | 1 | name | A | 0 | NULL | NULL | YES | BTREE | | | | t1 | 1 | age | 1 | age | A | 0 | NULL | NULL | YES | BTREE | | | | t1 | 1 | name_2 | 1 | name | A | 0 | NULL | NULL | YES | BTREE | | | | t1 | 1 | name_2 | 2 | age | A | 0 | NULL | NULL | YES | BTREE | | | | t1 | 1 | intro | 1 | intro | NULL | 0 | NULL | NULL | YES | FULLTEXT | | | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ ~~~ * * * * * ~~~ show create table 表名; ~~~ * * * * * ~~~ desc 表名; ~~~