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`