mysql 修改虚拟列默认值_MySQL 基本语句之七 多张表格的关系分解

fe1a59f5f03c79c836406a88c0f72df5.png

在一张表上修改会有什么缺点呢?常见的包括:

冗余

修改异常

删除异常

例如:我们有三个表格,分别是产品products,订单orders和顾客users

我们通过产品,订单和顾客的ID 把他们呢连接在一起,就形成了具有关系的表格。

e05cd19b6d3e2d6181271c7c16388e1f.png

代码:

SELECT

user_name,product_name, unit_price, quantity 选出要用的列

FROM

orders, users, products 从三个表单中

WHERE

orders.user_id = users.user_id and orders.product_id = product_id 这里是把各个id对应好


几种限制(constrints)种类:

primary key 主键

foreign key 外键

NOT NULL 非空

UNIQUE 唯一性 : 不允许插入相同的值

DEFAULT 默认值 :对于更改的数据,输入默认值

2421078716948bec78ca7932517b652f.png
设置foreign Key用到的code

be5fa0f481f0057aa785005e5c67927e.png
reference的不同选择

44421dfb3fea32046060405968d29575.png
MySQL支持foreign key,为了保证多表之间数据的一致性

reference option reference 这个代码有多种选择。

cascade 所有表里关联的信息都进行更改。

set null 把信息设置为空

No Action 不做任何改变

Set DEFAULT 设置为默认值 (这里注意,在设置column 属性的时候要设置为可以为空)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值