mysql教程网


当前位置: 主页 > sql语言 >

MySQL上机试题

时间:2016-04-27 09:38来源:www.mysql.net.cn 作者:admin 点击:
1. 创建数据库,名称为考生的学号;(10分) 2. 创建数据表customer(客户)、deposite(存款)、bank(银行),表结构如下:(10分) customer的表结构 属性名称 类型与长度 中文含义 备注 c_id char(6) 客户标识 主键,非空 name varchar(30) 客户姓名 非
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 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为50000,以验证触发器是否有效。(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分)
(责任编辑:admin)
顶一下
(2)
40%
踩一下
(3)
60%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片