大型数据库第三次实验

上传人:鲁** 文档编号:394859035 上传时间:2022-10-08 格式:DOCX 页数:7 大小:157.55KB
返回 下载 相关 举报
大型数据库第三次实验_第1页
第1页 / 共7页
大型数据库第三次实验_第2页
第2页 / 共7页
大型数据库第三次实验_第3页
第3页 / 共7页
大型数据库第三次实验_第4页
第4页 / 共7页
大型数据库第三次实验_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《大型数据库第三次实验》由会员分享,可在线阅读,更多相关《大型数据库第三次实验(7页珍藏版)》请在金锄头文库上搜索。

1、南京邮电大学 计算机学院大型数据库技术实验三:MySQ激据库进阶开发姓名:班级:学号:年 月 日星期说明:斜体需要输出的部分1 MySQL勺存储过程和函数1.1 创建企业销售系统的数据库,命名为 salesdb1.2 创建一张商品销售表,命名为salerecords ,包括如下字段:商品ID,商品名称, 销售单价,销售数量。以上不需要截图。1.3 创建一个存储过程,名称自订,通过输入商品 ID,商品名称,销售单价,销售数量 往表中插入一条记录。输出截图:(包括存储过程定义,调用三次存储过程,以及表的查询结果)hysql create procedure pr_add(.a int3b varc

2、har(20c double, d. int - insert into salerecords values (a3 b, c, d); endQuery 0K51 0 rows affected (0, 00 sec). T l-.r-. l-|r . .l II , : ,Li. : .1 I :;. I r . . , I. : :,l. . ! ; i 1.;hysql select * from salerecords;+-+id I namepricequantity巾机服毛手衣5 o o o 33 rows in set (0.00 sec)精选范本1.4创建一个存储过程,名称

3、自订,通过输入商品名称往表中插入100条记录。其中,所插入第一条记录的商品ID由现有表中商品ID的最大值+1构成,后续记录中商品 ID依次递增1。所插入第一条记录的商品价格与现有表中商品价格的最小值相同, 后续记录的商品价格依次递增1。商品销售数量随机生成。输出截图:(包括存储过程定义,表中前10条查询结果)mysql create procedure ddlOO (namE varcharC20)- begin- declare n int ;- declare b double;- deciare c int,- set n=0;- select max fid) into & fr oi

4、n salerecords,- setselect min(price) into b from salerecords;- while n set c=rancK);- insert into salereccrds valuesfa, name, b, c).- set a-3+l;- set b=匕+1;set n=n+l;- end while;- end/Query 0KT 0 rows affected (0. 00 sec.1|mysql select 北 fyom salerecords Limit 0, 10;十十十+id | name | pTiee | quantity

5、+1-i10123456 7 890巾机眼子子子子子子子毛手衣袜袜袜秣袜袜袜5 o o o30567890 1 nV 1 Jl 22220010111n* HI1.5 创建一个存储过程,名称自定,通过输入商品ID的最小伯:,最大伯:,将表中商品ID 处于(最小值,最大值)范围内,且为偶数的记录删除,包括最小值与最大值本身。此处不考虑商品ID不存在的情况,在实验时请选择1.4中创建的商品ID范围的子 集。输出截图:m-sql create procedure deleteeven (a int ,b intj1- bein- delete from salerecords vrhere nodl

6、id, 2.)=0 and id between a and b;f end/buery OK, 0 rows effected (0. 00 sec)id门 am已price quantityisql call deleteeventl, 10), (uery OK, 5 ros(0. 00 sec)220010 11105 o 6 s o 2 31I 1-I 1-I4 5 6H-1 1-1 1_135712345IX 1X 1A 1 1Xi7sal select + from sal eye cords limit 0, 10:子子子子子子子子 袜袜袜袜袜袜袜袜10 rows in set

7、 (0.00 sec)1.6 创建两个事件调度器,第一个每 3秒往1.2的表中插入一条记录,第二个每 30秒清 空1.2的表中的所有记录。输出截图:(只需要截取两个事件调度器的定义,以及在三个不同时刻查询表中记录 count (*)的结果。)irysq,1 CREATE EVENT sale_i nsert- 0M SCHEDULE EVERY 3 SECOND-DO INSERT IMTO salerecords VALUES (select max(id) froim (select t白礁.* 土 rom salerecords as tenp) as a) 十L裤子,50, 3);Qu

8、ery OK, 0 rows affected 00 see)-V-,-1-.2uery OK, 0 to vs affected CO. 00 sec)myeql select select count (*) from salerecards;count(*)2 MySQL勺触发器2.1 定义一个触发器,实现如下功能,在往 1.2的表中插入记录的时候,将记录同时也 插入到一张新的表sale_backup.输出截图:(包括触发器定义,以及调用了 1.4的存储过程后sale_backup的前10条记录)mYsql create trigger tri after insert- an sale

9、records for each rowinsert into sale_backup values fnew. it!, new. name, new. price, rijew. quantityj , Query OK, 0 rows affected (0, 01 sec)3 MySQL勺事务控制3.1 启动一个事务往1.2的表中插入任意三条记录,提交在第二条和第三条记录中定义 一个savepoint ,在插入完成后回滚到定义的 savepoint。输出截图:(包括整个操作过程)inyEql start transaction;Query OK, 0 rows affected CO.

10、 00 sec)mysql inseirt into salerecords values C1000,2, 2)3uery OK, 1 row affected (0. 00 sec)ysql Insert into sal erec or ds values (1001, a1,2, 2)2uery OK, 1 row affected (0. 00 sec)Kysql savepoint abc;2uer/ OK, 0 rows affected CO_ 00 sec)insert into salerecords valuesC1002,3 a 2, 2)Query OK, 1 row

11、 affected CO. 00 sec)mysql rollback to savepoint abc;3uery OK; 0 rows affected 10+ 00 sec)叫附qlcoonit;uery OK, 0 rows affected Q 00 sec)mrsql select * from salerecords where id 900;Tid | 一一一一一一1!naw L一一一一一一卜,priceL一一一一一一一以卜quantityL一一一一一一一一一一10001001aa-H22卜j22 卜2 rows in set (0. 00 secj3.2 简述读锁和写锁的区别

12、a、对MylSAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞 对同一表的写请求。只有当读锁释放后,才会执行其它进程的写操作。b 、对MylSAMft的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写 锁释放后,才会执行其它进程的读写操作。简而言之,就是读锁会阻塞写,但是不会堵塞读。而写锁则会把读和写都堵塞。4 MySQL勺分区4.1 分别使用range分区(自行决定区间)和hash分区创建对应与1.2中表的分区 输出截图:mysqL ALTER TABLE salezecords PARTITION BY RANGE (id)(- PARTITION pO

13、VALUES LESS THAU (100),- PARTITION pl VALUES LESS THAN (200)f- PAKTITION p2 VALUES LESS THAN (2000) 。).Query OK, 103 rows affected (0,12 sec)Records: 103 Duplicates: U Warnings: 0叫勺ql ALTER T&ELE salerecords-? PARTITION Bf hash(id) partitions 4; Query OK, 103 raws effected (0. 19 sec) Records: 103 D

14、uplicates: 0 Warnings: 04.2 插入100条记录后,确认分区中的记录分布情况 输出截图:ri0rsq1seiettparti ti n-naine part,- parti tirL_G2prQgion_prti t-ion_de script ion d曰?匚- table_raws- from i n f or ma tion schema, partitions where- tabl&_schema - schema 0- and tabi e_name-J salerecords1 ;HHlT卜十十1 part |J1esjr11descr11table _jrows1L_I11丁pOidMULL26plid |NULL27p2id 1NULL )25idNULL254- 4-44 rows in set 1Q 01 sec)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号