MySQL上机试题
1.创建数据库,名称为考生的学号;(10分)
2.创建数据表customer(客户)、deposite(存款)、bank(银行),表结构如下:(10分)
customer的表结构
属性名称 | 类型与长度 | 中文含义 | 备注 |
c_id | char(6) | 客户标识 | 主键,非空 |
name | varchar(30) | 客户姓名 | 非空 |
location | Varchar(30) | 工作地点 | |
salary | decimal(8,2) | 工资 | |
bank的表结构
属性名称 | 类型与长度 | 中文含义 | 备注 |
b_id | char(5) | 银行标识 | 主键,非空 |
bank_name | char(30) | 银行名次 | 非空 |
deposite的表结构
属性名称 | 类型与长度 | 中文含义 | 备注 |
d_id | int | 存款流水号 | 主键,非空,自增 |
c_id | char(6) | 客户标识 | 外键,关联customer表的c_id |
b_id | char(5) | 银行标识 | 外键,关联bank表的b_id |
dep _date | date | 存入日期 | |
dep_type | enum(1,3,5) | 存款期限 | 枚举型,1,3,5分别代表1年期、3年期和5年期 |
amount | decimal(8,2) | 存款金额 | |
3.录入数据如下:(10分)
customer的数据如下,注意最后一条记录用你的学号和你的姓名代替
c_id | name | location | salary |
101001 | 孙杨 | 广州 | 1234 |
101002 | 郭海 | 南京 | 3526 |
101003 | 卢江 | 苏州 | 6892 |
101004 | 郭惠 | 济南 | 3492 |
你的学号 | 你的姓名 | 北京 | 6324 |
bank的数据如下:
b_id | bank_name |
B0001 | 工商银行 |
B0002 | 建设银行 |
B0003 | 中国银行 |
B0004 | 农业银行 |
deposite的数据如下:
d_id | c_id | b_id | dep_date | dep_type | amount |
1 | 101001 | B0001 | 2011-04-05 | 3 | 42526 |
2 | 101002 | B0003 | 2012-07-15 | 5 | 66500 |
3 | 101003 | B0002 | 2010-11-24 | 1 | 42366 |
4 | 101004 | B0004 | 2008-03-31 | 1 | mysql存储过程题目62362 |
5 | 101001 | B0003 | 2002-02-07 | 3 | 56346 |
6 | 101002 | B0001 | 2004-09-23 | 3 | 353626 |
7 | 101003 | B0004 | 2003-12-14 | 5 | 36236 |
8 | 101004 | B0002 | 2007-04-21 | 5 | 26267 |
9 | 101001 | B0002 | 2011-02-11 | 1 | 435456 |
10 | 101002 | B0004 | 2012-05-13 | 1 | 234626 |
11 | 101003 | B0003 | 2001-01-24 | 5 | 26243 |
12 | 101004 | B0001 | 2009-08-23 | 3 | 45671 |
4.创建存储过程update_salary,更新customer表的salary属性,将salary低于5000的客户的salary变为原来的2倍. (10分)
5.创建视图bank_total,对deposite表进行统计,按银行统计存款总数,显示为b_id,total. (10分)
6.创建视图show_deposite,对deposite、customer、bank进行查询,查询条件为location在广州、苏州、济南的客户,存款在300000至500000之间的存款记录,显示客户姓名name、银行名称bank_name、存款金额amount. (10分)
7.为customer的name创建普通索引,名称为idx_name.(10分)
8.新建表dep_log,数据结构如下:(5分)
属性名称 | 类型与长度 | 中文含义 | 备注 |
id | int | 流水号 | 主键,非空,自增 |
d_id | int | 存款流水号 | |
b_id | char(5) | 银行标识 | |
operation | varchar(30) | 操作 | |
tsp | timestamp | 时间戳 | |
(1)创建一个触发器名称为insert_trigger, 在deposite插入记录时在dep_log中插入一条记录,将操作operation值为INSERT,并记录银行标识b_id;(5分)
(2)在deposite中插入一条记录,客户标识c_id为你的学号,银行标识b_id为B0003,存款日期dep_date为当前系统日期,存款期限type为3,存款金额amount为*****,以验证触发器是否有效。(5分)
9.完成以下题目:
(1)在bank中插入一条新记录B0005,交通银行;(5分)
(2)创建存储过程copydata,将deposite表存款流水号d_id未在dep_log中记录的农业银行B0004的全部存款记录逐一复制到新建的交通银行,客户标识c_id不变,银行标识为B0005,存款期限type、存款金额amount不变,存款日期为当前系统日期。并将操作记录写入dep_log表,包括农业银行的存款流水号,银行标识B0004,操作operation为COPY,以避免重复操作。(10分)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论