第四十天 各种各样的mysql数据查询方法

发布时间 2023-05-22 15:56:32作者: 暧昧的花蝴蝶

一、昨日内容回顾

约束条件之主键
primary key
1.InnoDB规定表必须有且只有一个主键(单列主键 联合主键)
id int primary key  单例主键
id int,uid int,primary key(id,uid) 联合主键
id int primary key auto_increment 主键自增
2.如果表中有主键 那么基于主键查询数据速度会非常快
3.单从约束层面而言 等价于not null unique
4.如果表中没有写primary key的字段 但是有not null unique的字段 那么会从上往下将第一个字段升级为主键
5.以后创建表的时候应该有一个序号相关的字段 并且应该作为主键(id nid uid)

约束条件之自增
auto_increment
1.一张表中只能有一个自增字段!!!!!!!!!!!!!!!!!
2.并且自增字段只能是键(最常见的是主键)
3.自增特性
	delete from  不会影响主键自增
	truncate 	 重置


约束条件之外键
外键字段:记录表与表之间数据的关系
数据关系的四种情况
	一对多、多对多、一对一、没有关系
数据关系的判断法则
	基于换位思考循环两个问题:各自表中的单条数据能否对应多条
	一个可以一个不可以:一对多(外键字段建在多的一方)
	两个都可以:多对多(需要单独开设第三张表)
	两个都不可以:没有关系、一对一(建议建在查询频率较高的表)
相关SQL语句
	foreign key(字段) references 表名(字段)
	on update cascade
	on delete cascade
外键字段特性
"""
外键字段也不一定非要用 很多大型项目为了解耦合 甚至不用外键
自己写代码或者SQL建立逻辑层面上的关系
"""

二、操作表的sql语句

# alter 改变
1.修改表名