mysql概要(十四)(一)索引

1.索引是对数据库数据建立目录加快了查询速度。索引分为哈希索引和二叉树索引

(大数据量转移,如果表中带有大量字段索引,进行数据导入时,建议先去掉索引导入数据再统一加入索引,减少索引计算量)

2.索引原则:

3.索引分类:

3.1对于全文索引:把一段文章中的某些词抽出来做成索引。

    

    a.查询带有全文索数据的方式:

    

    b.查询之前有一个匹配度的计算会将匹配度大于0的取出 

    

4.查看表的所有信息,包括一些字段类型,字段的约束,外键,主键,索引,字符编码等等。

   show create table 表名;

5.添加索引:除了在建表时添加外还可以:

(默认索引名和列名一样可不写)

6. 删除索引(删主键有所不同)

7.案例:

8.外键默认可以为空的,主键默认是非空,唯一的

8.1 为已经添加好的数据表添加外键:

    语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
    例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)
       FK_ID是外键的名称
 
CREATE TABLE `tb_active` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `user_id` int(11) NOT NULL,
 PRIMARY KEY (`id`),
 KEY `user_id` (`user_id`),
 CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)
) ENGINE=InnoDB CHARSET=latin1
 
8.2 删除外键
    语法: ALTER TABLE table-name DROP FOREIGN KEY key-id;
    例:   ALTER TABLE `tb_active` DROP FOREIGN KEY `FK_ID`
原文地址:https://www.cnblogs.com/straybirds/p/5137380.html