mysql简书_Mysql

本文围绕MySQL展开,介绍了外键约束等级,如cascade、set null、Restrict,并给出创建表及插入数据示例。还阐述了事务的四个特性、两种状态,以及手动提交事务的方式。此外,提及清空表数据的方法、查看字符集编码规则和字符集的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql

外键约束等级 cascade(随着更改) set null(设置为null) Restrict(默认,不让更改)

# 外键约束

drop database test;

create database test;

use test;

create table t_department (

did int primary key auto_increment,

dname varchar(255)

);

create table t_employee (

eid int primary key auto_increment,

ename varchar(255),

did int,

foreign key (did) references t_department(did) on update cascade on delete set null

);

insert into t_department(dname) values('销售部'),('宣传部'),('人事部');

insert into t_employee(ename,did) values('小红',3),('小帅',1),('小王',2);

update t_department set did = 4 where did = 3;# t_employee 中对应的该部门的员工的did会自动改变

delete from t_department where did = 2; # t_employee 中对应的该部门的员工的did会自动变为null

# 默认的外键约束

drop database test;

create database test;

use test;

create table t_department (

did int primary key auto_increment,

dname varchar(255)

);

create table t_employee (

eid int primary key auto_increment,

ename varchar(255),

did int,

foreign key (did) references t_department(did)

);

insert into t_department(dname) values('销售部'),('宣传部'),('人事部');

insert into t_employee(ename,did) values('小红',3),('小帅',1),('小王',2);

update t_department set did = 4 where did = 3; # 不让更改

delete from t_department where did = 2; # 不让删除

1

事务的四个特性

原子行,一致性,持久性,隔离性

2

事务的两种状态

提交(commit) 和 回滚(rollback)

3

手动提交事务的方式

# set autocommit = false;

set autocommit = false;

sql语句。。。。

commit 或者 rollback

sql语句。。。

commit 或者 rollback

。。。

。。。

# set autocommit = false; 会将当前连接的自动提交关闭,每次手动commit或者手动rollback都是一次事务的结束,可以通过set autocomit = true 将自动提交再次打开

# 在MySQL中会自动提交事务,默认每一条sql语句就是ige事务

# start transaction;

start transaction;

sql语句...

..

commit 或者 rollback

# 这意识一个事务,start transaction并不会想set autocommit = false一样使的整个连接都不会自动提交事务,它在这个事务提交之后,连接还是会自动提交事务(可以理解为只是单独的临时开启一个手动提交的事务)

4

mysql 清空表内的数据

delete from tablename [ where ..] // 将表内的数据一条一的删除,可以回滚

truncate tablename // 将表散出然后重新建立,不可以回滚,自增的值会重新重1开始自增

5

查看字符集对应的编码规则

SHOW COLLATION WHERE Charset LIKE '%utf8%';

6

查看字符集

show variables like 'character_%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值