江的福与MySQL(约束,事务)

常见约束:
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性
在这里插入图片描述
分类:
六大约束:
- NOT NULL:非空约束。用于保证该字段的值,不能为空。 比如姓名、学号等。
- DEFAULT:默认。用于保证该字段的默认值。比如性别
- PRIMARY KEY 主键:用于保证该字段的值具有唯一性。并且非空。学号,员工编号。
- UNIQUE:唯一。用于保证该字段的值具有唯一性。可以为空、比如座位号。
- CHECK:检查约束(MySQL中不支持)比如年龄,性别。
- FOREIGN KEY :外键。用于限制两个表的关系,用于保证该字段值,必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中的某列值。

添加约束的实际:
1、创建表时。
2、修改表时。

约束的添加约束:
1、列级约束。六大约束语法上都支持,但是外键约束没有效果
2、表级约束。除了非空,默认,其他的都支持

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加了外键约束,不能直接修改主表,所以需要级联删除和级联置空。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TCL 事务控制语言

事务:一个或一组sql语句促成一个执行单元,这个执行单元要么全部执行,要么全部不执行。

案例:转账。
张三丰 1000
郭襄 1400
update 表 set 张三丰的余额 =900 where name=‘张三丰’
update 表 set 郭襄的余额 =1500 where name=‘郭襄’
在这里插入图片描述
在这里插入图片描述
事务的特性(ACID)
原子性:一个事务不可在分割,要么都执行要么都不执行。
一致性:一个事务执行会使数据从一个一致性状态切换到另一个一致性状态。
隔离性:一个事务的执行不受其他事务的影响。
持久性:一个事务一旦提交,则会永久的改变数据库的数据。
insert 、update、delete 默认是一条事务。
如果要将多条语句设置成一条事务,需要使用显示事务。

显示事务:事务具有明显的开启和结束的标记。
前提:必须先设置自动提交功能的禁用。set autocommit=0

步骤一 : 开启事务
set autocommit=0
start transaction;可选
步骤2:编写事务中的sql语句(select insert update delete)
语句1
语句2
‘’‘’‘’

步骤二:结束事务
commit 提交事务
rollback:回滚事务

演示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值