mysql(3)

表约束:

声明主键:
    PRIMARY KEY

主键自增:
    auto_increment

唯一:
    unique

非空:
    not null

外键约束:

当新建的表B想和其它表A进行关联的时候,表B需要有一个字段和其它表A进行映射,这样做的话,删除表A数据时,只要表B中存在和表A有关联的数据,表A的关联数据就不可以删除


CREATE TABLE A(
	id INT PRIMARY KEY auto_increment,
	name VARCHAR(20)
)

CREATE TABLE B(
	id INT PRIMARY KEY auto_increment,
	name VARCHAR(10),
	aId INT,
	FOREIGN KEY (aId) REFERENCES A (id)
	
)

FOREIGN KEY (外键字段) REFERENCES 要关联表名 (要关联的字段)
上面创建B表就代表了。将B表外键字段(aId) 关联 B表 的 id


B表中的aid 关联向了A表中的id,当B表中存在和A表有关联数据时,A表中的那一条关联数据不可以删除

多表查询内连接:



普通内连接:
inner join ... on 条件


查询A表和B表中 id = aid 的值匹配出来的数据
SELECT * FROM A INNER JOIN B on id = aId



隐式内连接:

查询A表和B表中 id = aid 的值匹配出来的数据
SELECT * FROM A,B WHERE A.id = B.aId

多表查询外连接:

左外连接:
LEFT JOIN ... on 条件

以左为主,进行查询 查询结果和内连接相似,只不过会将为主的表 无法匹配的数据也查询出来
SELECT * FROM  A LEFT JOIN B ON A.id=B.aId


右外连接

SELECT * FROM A RIGHT JOIN B ON A.id = B.aId

子查询:

将一个查询的结果做为另一个查询的条件

SELECT * FROM 表名 WHERE english > (SELECT SUM(english) FROM 表名)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值