mysql经典案例

来源:互联网 发布:AEditor源码 编辑:程序博客网 时间:2024/04/29 15:59

http://download.csdn.net/detail/fuchunyuan0/9573203此链接可以下载我上传的word文档sql案例原题,为北风网mysql学习部分的考试题.

mysql经典案例:

  1. 使用sql语句创建数据库,名称为CustomDB
    答:create database if not exists CustomDB;
  2. 创建数据表customer(客户)、deposite(存款)、bank(银行),表结构如下:
    customer
    deposit
    数据
    数据2

  3. 创建表,代码如下:
    答:

/*创建顾客表*/create table if not exists customer(     c_id char(6) primary key,     name varchar(30)not null,     location varchar(30),     salary decimal(8,2));/*创建银行表*/create table if not exists bank(    b_id char(5) primary key,    bank_name char(30) not null);/*创建存款表(注意外键的代码使用)*/create table if not exists deposite(    d_id int(10) auto_increment primary key,    c_id char(6),    b_id char(5),    dep_date date,    amount decimal(8,2),    constraint FK_c_id foreign key(c_id) references customer(c_id));/*插入数据*/insert into customer values('101001','孙杨','广州',1234),('101002','郭海','南京',3526),('101003','卢江','苏州',6892),('101004','郭惠','济南',3492);insert into bankvalues('B0001','工商银行'),('B0002','建设银行'),('B0003','中国银行');insert into bankvalues('B0004','农业银行');insert into depositevalues(1,'101001','B0001','2011-04-05',42526),(2,'101002','B0003','2012-07-15',66500),(3,'101003','B0002','2010-11-24',42366),(4,'101004','B0004','2008-03-31',62362),(5,'101001','B0003','2002-02-07',56346),(6,'101002','B0001','2004-09-23',353626),(7,'101003','B0004','2003-12-14',36236),(8,'101004','B0002','2007-04-21',26267),(9,'101001','B0002','2011-02-11',435456),(10,'101002','B0004','2012-05-13',234626),(11,'101003','B0003','2001-01-24',26243),(12,'101004','B0001','2009-08-23',45671);
  1. 将数据表deposite中孙杨的存款金额加10000
update  deposite set amount =amount+10000 where c_id in(select c_id from custom where name='孙杨');
  1. 将数据表deposite中所属账户为工商银行并且存入日期为2011-04-05的人员的存款金额加1000
update deposite set amount=amount+1000 where dep_date='2011-04-05' and b_id in(select b_id from bank where bank_name='工商银行');
  1. 将数据表deposite中郭海的银行标识改为建设银行
update deposite set b_id=(select b_id from bank where bank_name='建设银行')where c_id in(select c_id from customer where name='郭海');
  1. 查询孙杨的存款信息(显示信息:客户ID,客户姓名,银行名称,存款金额)
select customer.c_id,name,bank_name,amount from inner join customer on customer.c_id=deposite.c_idinner join bank on bank.b_id=deposite.b_idwhere name='郭海' and bank_name='工商银行';
  1. 查询日期为2011-04-05这一天进行过存款的客户ID,客户姓名,银行名称,存款金额

  2. 查询郭海在工商银行的存款信息(显示信息:客户ID,客户姓名,银行标识,银行名称,存款日期,存款金额)

  3. 查询工商银行存款大于等于一万的客户姓名(使用表链接和子查询两种方式实现)
  4. 查询在农业银行存款前五名的客户存款信息(显示信息:客户姓名,银行名称,存款金额)
  5. .查询姓“卢”的客户的存款信息(显示信息:客户姓名,银行名称,存款金额)
  6. 创建存储过程update_salary,更新customer表的salary属性,将salary低于5000的客户的salary变为原来的2倍.
0 0
原创粉丝点击