mysql上机实验六

本实验涵盖了MySQL中的触发器操作,包括创建、查看、使用和删除,以及权限管理,如创建用户、授权和回收权限。此外,还涉及了数据备份和恢复的实践,包括数据库的备份、恢复、表的导入导出。

实验六 4学时

触发器、权限管理、数据备份,实验报告(四、五、六)

一、学习目标

  1. 了解什么是触发器
  2. 掌握创建触发器的方法
  3. 掌握查看触发器的方法
  4. 掌握触发器的使用技巧
  5. 掌握删除触发器的方法
  6. 熟练掌握使用触发器的方法和技巧
  7. 了解什么是权限表
  8. 掌握权限表的用法
  9. 掌握账户管理的方法
  10. 掌握权限管理的方法
  11. 掌握访问控制的方法
  12. 熟练掌握新建用户的方法和技巧
  13. 了解什么是数据备份
  14. 掌握各种数据备份的方法
  15. 掌握各种数据恢复的方法
  16. 掌握数据库迁移的方法
  17. 掌握表的导入和导出方法
  18. 熟练掌握数据备份与恢复的方法和技巧

二、实验内容

  1. 掌握触发器的创建和调用方法

下面是创建触发器的实例,每更新一次persons表的num字段后都要更新sales表对应的sum字段。其中,persons表结构、sales表结构以及persons表结构的内容如下所示,按照后面的具体要求完成操作。

persons表结构

字段名

数据类型

主键

外键

非空

唯一

自增

name

varchar40

num

int

sales表结构

字段名

数据类型

主键

外键

非空

唯一

自增

name

varchar40

num

int

persons表结构

name

num

xiaoming

20

xiaojun

69

步骤如下:

①创建一个业务统计表persons

create table persons (
name varchar(40) not null,
num int(11) not null);

②创建一个销售额表sales

create table sales (
name varchar(40) not null,
num int(11) not null);

③创建一个触发器

create trigger num_sum 
After insert on persons
for each row insert into sales 
    values (new.name,7*NEW.num);

④向persons表中插入记录

insert into persons values
('xiaoxiao',20),('xiaohua',69);
  1. 掌握创建用户和授权的方法。步骤如下:

①打开MySQL客户端工具,输入登录命令,登录MySQL

②选择MySQL数据库为当前数据库

③创建新账户,用户名称为newAdmin,密码为pw123

grant all privileges on *.* to 'newAdmin'@'localhost' identified by 'pw123' with grant option;

④分别从user表中查看新账户的账户信息

SELECT * FROM mysql.user;

⑤使用SHOW GRANTS语句查看newAdmin的权限信息

show grants for 'newAdmin'@'localhost';

⑥使用newAdmin用户登录MySQL

⑦使用newAdmin用户查看test_db数据库中person表中的数据

⑧使用newAdmin用户向person表中插入一条新记录,查看语句执行结果

⑨退出当前登录,使用root用户重新登录,收回newAdmin账户的权限

exit;
revoke all on *.* from 'newAdmin'@'localhost';

⑩删除newAdmin的账户信息

drop user 'newAdmin'@'localhost';
  1. 按照操作过程完成对test_db数据库的备份和恢复。步骤如下:

①使用MySQLdump命令将suppliers表备份到文件D:\beifen\suppliers_bk.sql

mysqldump -u root -p test persons > D:\beifen\suppliers_bk.sql

②使用MySQL命令恢复suppliers表到test_db数据库中

use test;
source D:\beifen\\suppliers_bk.sql;

③使用SELECT…INTO OUTFILE语句导出suppliers表中的记录,导出文件位于目录D:\下,名称为suppliers_out.txt

SELECT * FROM test.persons INTO OUTFILE 'D:/suppliers_out.txt';

④使用LOAD DATA INFILE语句导入suppliers_out.txt数据到suppliers表

LOAD DATA INFILE 'D:/suppliers_out.txt' 
INTO TABLE persons FIELDS TERMINATED BY '\t' (`name`,`num`);
SELECT * FROM persons;

⑤使用MySQLdump命令将suppliers表中的记录导出到文件D:\beifen\suppliers_bk.sql

mysqldump -u root -p test persons > D:\beifen\suppliers_bk.sql

三、思考题(01,03)

  1. 使用触发器时要特别注意的事项有哪些?
  2. 为什么要及时删除不再需要的触发器?
  3. MySQLdump备份的文件只能在MySQL中使用吗?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值