mysql 创建视图 主键_视图,索引,事务,备份与还原之课后练习

be13f167afb4dd86cba00aba5dc6f04f.png

之前我们有介绍和学习过“视图,索引,事务,备份与还原”,还有不清楚的小伙伴,可以去看小编之前的文章。

下面我们直接进行课后练习!

课后练习

- 创建一个银行账户表 - uid 主键自增 - uname 用户名 - upsw 密码 - yue 余额 - 创建一个日志表 - lid 主键自增 - fromuid 外键,从哪个账户转出去 - touid 外键, 转到哪个账户 - qian 转账钱数 - 为账户表增加两行数据 - 执行正常转账操作,并增加一条日志记录,注意使用事务保证逻辑的正确,结束前提交事务 - 执行错误的逻辑,然后回滚事务 - 使用mysqldump备份数据 - 使用mysql恢复数据 - 使用select方式备份数据

ALTER DATABASE zy6 DEFAULT CHARACTER SET=utf8;

CREATE DATABASE zy6;

USE zy6;

#创建一个银行账户表

#uid 主键自增

#uname 用户名

#upsw密码

#yue余额

CREATE TABLE bank(

uid INT PRIMARY KEY AUTO_INCREMENT,

uname VARCHAR(20) NOT NULL,

upsw VARCHAR(10) NOT NULL,

yue INT

)

#创建一个日志表

#lid主键自增

#fromuid 外键,从哪个账户转出去

#touid外键, 转到哪个账户

#qian转账钱数

CREATE TABLE rz(

lid INT PRIMARY KEY AUTO_INCREMENT,

fromuid INT,

touid INT,

qian INT

)

ALTER TABLE rz ADD CONSTRAINT b_id FOREIGN KEY(fromuid) REFERENCES bank(uid);

ALTER TABLE rz ADD CONSTRAINT r_id FOREIGN KEY(touid) REFERENCES bank(uid);

#为账户表增加两行数据

INSERT INTO bank VALUES(NULL,'giao旭','123',10000),(NULL,'sao旭','456',5000)

#执行正常转账操作,并增加一条日志记录,注意使用事务保证逻辑的正确,结束前提交事务

UPDATE bank SET yue=yue-1000 WHERE uid=1;

INSERT INTO rz VALUES(NULL,1,1,-1000);

COMMIT;

SELECT * FROM bank

SELECT * FROM rz

#执行错误的逻辑,然后回滚事务

BEGIN

UPDATE bank SET yue=yue-1000 WHERE uname='giao旭';

UPDATE bank SET yue=yue+1000 WHERE uname='骚旭';

ROLLBACK;

#使用mysqldump备份数据

mysqldump -uroot -p zy6>D:/aaa.sql

#使用mysql恢复数据

mysql -uroot -p zy6

#使用select方式备份数据

SELECT * FROM bank INTO OUTFILE 'c:ss.txt'

#使用insert方式恢复数据

LOAD DATA INFILE 'e:insert.txt' INTO TABLE bank

最后,我们来看看截图:

f993cd89259986fc722540a536560b68.png
9746ecb50e2c73c36cc036a78e63c02e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值