Fork me on GitHub

mysql数据库表格的索引

索引

假如你用新华字典来查找“张”这个汉字,不使用目录的话,你可能要从新华字典的第一页找到最后一页,可能要花二个小时。
字典越厚呢,你花的时间就越多。
现在你使用目录来查找“张”这个汉字,张的首字母是zz开头的汉字从900多页开始,有了这条线索,你查找一个汉字可能只要一分钟,
由此可见索引的重要性。

索引用于快速找出在某个列中有一特定值的行

当然索引也不易过多,索引越多写入,修改的速度越慢。因为,写入修改数据时,也要修改索引。

   索引分为:

普通索引

唯一索引(字段信息不得有重复)

主键索引 (特殊的唯一索引,字段信息不得为空)

全文索引 对于需要全局搜索的数据,进行全文索引

1. 普通索引创建MUL

语法格式:alter table 表名 add index(字段名)

MariaDB [dazhu]> alter table xueyuan add index(性别);

Query OK, 0 rows affected (0.10 sec)

Records: 0  Duplicates: 0  Warnings: 0
 

2. 唯一索引创建UNI

语法格式:alter table 表名 add unique(姓名)

MariaDB [dazhu]> alter table xueyuan add unique(姓名);

Query OK, 0 rows affected (0.09 sec)

Records: 0  Duplicates: 0  Warnings: 0
 

3. 主键索引创建:PRI

语法格式:alter table 表名 add primary key(字段名)

ariaDB [dazhu]> alter table xueyuan add primary key(成绩);

Query OK, 0 rows affected (0.12 sec)               

Records: 0  Duplicates: 0  Warnings: 0

4.创建全文索引:

语法格式:alter table 表名 add fulltext(字段名)

5. 创建表时添加索引:

创建表时可在创建表语句后加上对应的类型即可声明索引:

PRIMARY KEY(字段)

 INDEX [索引名] (字段)

 FULLTEXT [索引名] (字段)

 UNIQUE[索引名] (字段)

注:中括号中的索引名,代表可选。

整体示例如下:

CREATE TABLE test ( id INT NOT NULL ,  username VARCHAR(20) NOT NULL ,  password INT NOT NULL ,  content VARCHAR(20) , PRIMARY KEY (id), INDEX pw (password), UNIQUE (username),FULLTEXT (content)) ENGINE = InnoDB;
posted @ 2020-09-23 10:36  子墨·咖啡  阅读(249)  评论(0)    收藏  举报