MySQL☞4大索引

MySQL索引

	1、BTree
	2、优点:加快数据的检索速度
	3、缺点
		1、索引需要动态维护,降低数据的维护速度
		2、索引占用物理空间
	4、索引类型
		1、普通索引(MUL)
			1、创建
				1、创建表时创建: index(字段名),...
				2、在已有表创建:
					create index 索引名 on 表名;
			2、查看
				1、desc 表名;
				2、show index from 表名\G;
			3、删除(只能一个一个删除)
				drop index 索引名 on 表名;
		2、唯一所以(UNI,字段值不允许重复,但可为NULL)
			1、创建
				1、创建表
					unique(字段名),...
				2、在已有表中创建
					create unique index 索引名 on 表名;
			2、删除
				drop index 索引名 on 表名;
		3、主键索引(PRI)
	1、使用规则
		1、一个表中只能有一个主键(primary)字段
		2、对应字段的值不允许重复,且不能为空
		3、主键字段的key标志PRI
		4、把表中能够唯一标识一条记录的字段设置为主键,通常把表中记录编号的字段设置为主键
	2、创建主键(primary key)
		1、创建表时创建
			1、字段名 数据类型 primary key,
			2、primary key(字段名)
		2、在已有表中创建
			alter table 表名 add primary key(字段名);
	3、删除
		alter table 表名 drop primary key;
	4、自增长属性(auto_increment)
		1、作用:通常和主键字段一起配合使用
		2、创建
			1、创建表时创建
			字段名 数据类型 primary key auto_increment
			2、在已有表中添加自增长属性(modify)
				alter table 表名 modify 字段名 数据类型 primary key auto_increment
	5、删除主键及自增长属性
		1、alter table 表名 modify 字段名 数据类型;
		2、alter table 表名 drop primay key;
4、外键索引(foreign key)
	1、定义
		让当前表的字段值在另一个表的范围内选择
	2、语法格式
		foreign key(参考字段名)
		references 被参考表名(被参考字段名)
		on delete 级联动作
		on update 级联动作
3、案例
		表1:缴费信息表(财务)
			学号  姓名     班级     缴费金额
				1   唐伯虎  AID1712     28000
				2   点秋香  AID1712     20000
		表2:学生信息表(班主任)
			学号  姓名    缴费金额
				1   唐伯虎    28000
4、删除外键
		1、语法格式
			alter table 表名 drop foreign key 外键名;
		2、注意
			1、外键名的查看方式
				show create table 表名;
	5、在已有表中添加外键
		1、语法格式
			alter table 表名 add 
			foreign key(参考字段名) references
			被参考表名(被参考字段名)
			on delete 级联动作
			on update 级联动作
		2、注意
			在已有表中添加外键时,会受到表中原有数据的限制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值