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的数据如下:
mysql存储过程题目
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
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分)