MySQL基础操作练习(七)——约束、事务

MySQL基础操作练习(七)——约束、事务
一、约束
1、NOT NULL:非空 该字段的值是必填的,如果不设置该约束,该字段默认是可以为空
2、DEFAULT:默认 该字段有默认值
3、CHECK:检查,mysql语法支持,但效果不支持 该字段值可以加以限制,比如年龄可以控制在0-120之间
4、PRIMARY KEY:主键 (不可重复)
1)不可以为空
2)一个表中只能有一个主键,但是可以多个字段做组合主键
5、UNIQUE:唯一约束 (不可重复)
1)可以为空
2)一个表中可以有多个唯一键,可以有组合唯一键
6、FOREIGN KEY:外键 (限制多表的关系)
1)从表的该字段值必须来自于主表的关联列的值
2)从表和主表的关联列的类型必须一样
3)主表的关联列必须是主键
4)在从表中设置外键
5)一个表中可以添加多个外键
6)插入数据时,先插入主表; 删除数据时,先删除从表

列级约束在列的后面,不支持外键
表级约束在表的后面,不支持非空和默认

列级约束 语法:

CREATE TABLE 表名(	
	字段名 字段类型 列级约束,
	字段名 字段类型 列级约束,
	表级约束#)

表级约束 语法:

create table stuinfo(	
	id int ,	
	stuname varchar(20),	
	gender char,	
	age int unsigned,constraint 约束名】约束类型(字段));

二、事务
事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
1、特点:
(1) 原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
(2)一致性(Consistency)
事务必须使数据库从一个一致性状态变换到另外一个一致性状态。
(3)隔离性(Isolation)
事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
(4)持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响

2、以第一个 DML 语句的执行作为开始
以COMMIT 或 ROLLBACK 语句DDL 或 DCL 语句(自动提交)作为结束
set autocommit=0;#取消自动提交
start transaction;#开启事务
rollback;#回滚事务
commit;#提交事务
3、数据库提供的 4 种事务隔离级别
read uncommited(读未提交的数据)
read commited (读已提交的数据)
repeatable read (可重复读)
serializable (串行化)
Oracle 支持的 2 种事务隔离级别:READ COMMITED, SERIALIZABLE。 Oracle 默认的事务隔离级别为: READ COMMITED
Mysql 支持 4 种事务隔离级别. Mysql 默认的事务隔离级别为: repeatable read

4、查看当前的隔离级别: SELECT @@tx_isolation;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值