前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql实训2

mysql实训2

作者头像
潇洒坤
发布2018-09-10 10:44:18
1.4K0
发布2018-09-10 10:44:18
举报
文章被收录于专栏:简书专栏简书专栏

银行存款记录数据库模拟实训

1.创建数据库和表

创建customer表

create table customer( c_id varchar(10) primary key not null comment '客户标识', name varchar(30) not null comment '客户姓名', location varchar(30) comment '工作地点', salary decimal(8,2) comment '工资' );

创建bank表

create table bank( b_id char(5) primary key not null comment '银行标识', bank_name char(30) comment '非空' );

创建deposit表

create table deposti( d_id int primary key not null auto_increment comment '存款流水号', c_id varchar(10) comment '客户标识', foreign key(c_id) references customer(c_id), b_id char(5) comment '银行标识', foreign key(b_id) references bank(b_id), dep_date date comment '存入日期', amount decimal(8,2) comment '存款金额' );

2.插入数据

向customer表中插入数据:

insert into customer(c_id,name,location,salary) values('101001','孙杨','广州',1234); insert into customer(c_id,name,location,salary) values('101002','郭靖','南京',3526); insert into customer(c_id,name,location,salary) values('101003','卢江','苏州',6892); insert into customer(c_id,name,location,salary) values('101004','郭惠','济南',3492);

向bank表中插入数据:

insert into bank(b_id,bank_name) values('B0001','工商银行'); insert into bank(b_id,bank_name) values('B0002','建设银行'); insert into bank(b_id,bank_name) values('B0003','中国银行'); insert into bank(b_id,bank_name) values('B0004','农业银行');

向deposit表插入数据:

insert into deposit(d_id,c_id,b_id,dep_date,amount) values(1,'101001','B0001','2011-04-05',42546); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(2,'101002','B0003','2012-07-15',66500); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(3,'101003','B0002','2010-11-24',42366); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(4,'101004','B0004','2008-03-31',62362); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(5,'101001','B0003','2012-02-07',56346); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(6,'101002','B0001','2004-09-23',353626); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(7,'101003','B0004','2003-12-14',36236); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(8,'101004','B0002','2007-04-21',26267); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(9,'101001','B0002','2011-04-05',435456); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(10,'101002','B0004','2012-05-13',234626); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(11,'101003','B0003','2001-01-24',26243); insert into deposit(d_id,c_id,b_id,dep_date,amount) values(12,'101004','B0001','2009-08-23',45671);

3.查询数据

查询孙杨的存款信息

select c.c_id,name,bank_name,amount from customer as c,bank,deposit where c.c_id = deposit.c_id and bank.b_id = deposit.b_id and name = '孙杨'

查询日期为2011-04-05这一天进行过存款的客户ID、客户姓名、银行名称、存款金额。

select c.c_id,name,bank_name,amount from customer as c, bank as b, deposit as d where c.c_id = d.c_id and b.b_id = d.b_id and d.dep_date = '2011-04-05';

查询农业银行存款前五名的客户存款信息

select c.c_id,name,bank_name,dep_date,amount from customer as c, bank as b,deposit as d where c.c_id = d.c_id and b.b_id = d.b_id and b.bank_name = '农业银行' order by amount desc limit 5

商品进销系统模拟实训

1.创建数据库和表

创建数据库命令: create database sellandstore 创建以中文命名的表和字段,SQL语句如下:

CREATE TABLE `产品类别` (
  `类别编号` varchar(255) NOT NULL,
  `类别名称` varchar(255) DEFAULT NULL,
  `说明` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`类别编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `产品资料` (
  `产品编号` varchar(255) NOT NULL,
  `产品` varchar(255) DEFAULT NULL,
  `供应商编号` varchar(255) DEFAULT NULL,
  `类别编号` varchar(255) DEFAULT NULL,
  `单位数量` varchar(255) DEFAULT NULL,
  `单价` varchar(255) DEFAULT NULL,
  `库存量` varchar(255) DEFAULT NULL,
  `已订购量` varchar(255) DEFAULT NULL,
  `安全存量` varchar(255) DEFAULT NULL,
  `不再销售` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`产品编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `订货明细` (
  `订单号码` varchar(255) NOT NULL,
  `产品编号` varchar(255) NOT NULL,
  `单价` varchar(255) DEFAULT NULL,
  `数量` varchar(255) DEFAULT NULL,
  `折扣` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`订单号码`,`产品编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `订货主档` (
  `订单号码` varchar(255) NOT NULL,
  `客户编号` varchar(255) DEFAULT NULL,
  `员工编号` varchar(255) DEFAULT NULL,
  `订单日期` varchar(255) DEFAULT NULL,
   `要货日期` varchar(255) DEFAULT NULL,
  `送货日期` varchar(255) DEFAULT NULL,
  `送货方式` varchar(255) DEFAULT NULL,
  `运费` varchar(255) DEFAULT NULL,
  `收货人` varchar(255) DEFAULT NULL,
  `送货地址` varchar(255) DEFAULT NULL,
  `送货城市` varchar(255) DEFAULT NULL,
  `送货行政区` varchar(255) DEFAULT NULL,
  `送货邮政编码` varchar(255) DEFAULT NULL,
  `送货国家地区` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`订单号码`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `货运公司` (
  `货运公司编号` varchar(255) NOT NULL,
  `货运公司名称` varchar(255) DEFAULT NULL,
  `电话` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`货运公司编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `客户` (
  `客户编号` varchar(255) NOT NULL,
  `公司名称` varchar(255) DEFAULT NULL,
  `联系人` varchar(255) DEFAULT NULL,
  `联系人职称` varchar(255) DEFAULT NULL,
  `地址` varchar(255) DEFAULT NULL,
  `城市` varchar(255) DEFAULT NULL,
  `行政区` varchar(255) DEFAULT NULL,
  `邮政编码` varchar(255) DEFAULT NULL,
  `国家地区` varchar(255) DEFAULT NULL,
  `电话` varchar(255) DEFAULT NULL,
  `传真电话` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`客户编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `商品供应` (
  `供应商编号` varchar(255) NOT NULL,
  `供应商` varchar(255) DEFAULT NULL,
  `联系人` varchar(255) DEFAULT NULL,
  `联系人职务` varchar(255) DEFAULT NULL,
  `地址` varchar(255) DEFAULT NULL,
  `城市` varchar(255) DEFAULT NULL,
  `行政区` varchar(255) DEFAULT NULL,
  `邮政编码` varchar(255) DEFAULT NULL,
  `国家地区` varchar(255) DEFAULT NULL,
  `电话` varchar(255) DEFAULT NULL,
  `传真电话` varchar(255) DEFAULT NULL,
  `公司网站` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`供应商编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `员工` (
  `员工编号` varchar(255) NOT NULL,
  `身份证号码` varchar(255) DEFAULT NULL,
  `姓名` varchar(255) DEFAULT NULL,
  `性别` varchar(255) DEFAULT NULL,
  `家庭住址` varchar(255) DEFAULT NULL,
  `邮政编码` varchar(255) DEFAULT NULL,
  `电话号码` varchar(255) DEFAULT NULL,
  `出生日期` datetime DEFAULT NULL,
  `婚姻状况` varchar(255) DEFAULT NULL,
  `雇佣日期` varchar(255) DEFAULT NULL,
  `起薪` varchar(255) DEFAULT NULL,
  `目前薪资` varchar(255) DEFAULT NULL,
  `加薪日期` varchar(255) DEFAULT NULL,
  `工作代码` varchar(255) DEFAULT NULL,
  `部门` varchar(255) DEFAULT NULL,
  `直属主管` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`员工编号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.插入数据

INSERT INTO `产品类别` VALUES ('1', '饮料', '软性饮料,咖啡,啤酒,及麦酒');
INSERT INTO `产品类别` VALUES ('2', '调味品', '甜酸酱,配料,涂料,及香料');
INSERT INTO `产品类别` VALUES ('3', '点心', '甜点心,糖果,甜面包');
INSERT INTO `产品类别` VALUES ('4', '日用品', '寿司');
INSERT INTO `产品类别` VALUES ('5', '谷类/麦片', '面包,饼干,面团,麦片');
INSERT INTO `产品类别` VALUES ('6', '肉/家禽', '肉品');
INSERT INTO `产品资料` VALUES ('28', '烤肉酱', '12', '7', '每箱12瓶', '45.6', '26', '0', '0', '-1');
INSERT INTO `产品资料` VALUES ('29', '鸭肉', '12', '6', '每袋3公斤', '123.79', '0', '0', '0', '-1');
INSERT INTO `产品资料` VALUES ('3', '蕃茄酱', '1', '2', '每箱12瓶', '10', '13', '70', '25', '0');
INSERT INTO `产品资料` VALUES ('30', '黄鱼', '13', '8', '每袋3公斤', '25.89', '10', '0', '15', '0');
INSERT INTO `产品资料` VALUES ('31', '温馨寿司', '14', '4', '每箱12瓶', '14.9386', '0', '70', '4', '0');
INSERT INTO `产品资料` VALUES ('32', '白寿司', '14', '4', '每箱12瓶', '32', '9', '40', '25', '0');
INSERT INTO `订货明细` VALUES ('10255', '2', '15.2', '20', '0');
INSERT INTO `订货明细` VALUES ('10255', '36', '15.2', '25', '0');
INSERT INTO `订货明细` VALUES ('10255', '59', '44', '30', '0');
INSERT INTO `订货明细` VALUES ('10256', '53', '26.2', '15', '0');
INSERT INTO `订货明细` VALUES ('10256', '77', '10.4', '12', '0');
INSERT INTO `订货明细` VALUES ('10257', '27', '35.1', '25', '0');
INSERT INTO `订货主档` VALUES ('10268', 'GROSR', '8', '1996-07-30 00:00:00', '1996-08-27 00:00:00', '1996-08-02 00:00:00', '3', '66.29', '刘先生', '沈阳市河东路二段120号', '沈阳市', '河东', '1', '');
INSERT INTO `订货主档` VALUES ('10269', 'WHITC', '5', '1996-07-31 00:00:00', '1996-08-14 00:00:00', '1996-08-09 00:00:00', '1', '4.56', '黎先生', '青岛永大路4号', '青岛', '永大', '2', '');
INSERT INTO `订货主档` VALUES ('10270', 'WARTH', '1', '1996-08-01 00:00:00', '1996-08-29 00:00:00', '1996-08-02 00:00:00', '1', '136.54', '成先生', '沈阳市中港路一段78号', '沈阳市', '中港', '2', '');
INSERT INTO `订货主档` VALUES ('10271', 'SPLIR', '6', '1996-08-01 00:00:00', '1996-08-29 00:00:00', '1996-08-30 00:00:00', '2', '4.54', '唐小姐', '济南市中山路7号', '济南市', '中山', '2', '');
INSERT INTO `订货主档` VALUES ('10272', 'RATTC', '6', '1996-08-02 00:00:00', '1996-08-30 00:00:00', '1996-08-06 00:00:00', '2', '98.03', '王先生', '上海市中新路11号', '上海市', '中新', '2', '');
INSERT INTO `订货主档` VALUES ('10273', 'QUICK', '3', '1996-08-05 00:00:00', '1996-09-02 00:00:00', '1996-08-12 00:00:00', '3', '76.07', '刘先生', '沈阳市河东路二段120号', '沈阳市', '河东', '5', '');
INSERT INTO `客户` VALUES ('FAMIA', '红阳事业', '徐先生', '业务', '哈尔滨市花中路15号', '哈尔滨市', '花中区', '328306', '', '(0252) 246-6665', '(0252) 246-6665');
INSERT INTO `客户` VALUES ('FISSA', '嘉元实业', '周先生', '营销专员', '合肥市大洋路38号', '合肥市', '大洋区', '327000', '', '(0452) 889-6638', '(0452) 889-6638');
INSERT INTO `客户` VALUES ('FOLIG', '路福村', '方先生', '董事长', '武汉市永平路7号', '武汉市', '永平区', '218023', '', '(010) 255-2555', '(010) 255-2555');
INSERT INTO `客户` VALUES ('FOLKO', '雅洲信托', '陈先生', '董事长', '北京市海淀东路64号', '北京市', '海淀区', '113008', '', '(010) 277-9682', '(010) 277-9682');
INSERT INTO `客户` VALUES ('FRANK', '棕国信托', '余小姐', '会计人员', '北京市海淀东路42号3楼之一', '北京市', '海淀区', '110058', '', '(021) 391-6932', '(021) 391-6932');
INSERT INTO `客户` VALUES ('FRANR', '信华银行', '苏先生', '业务', '武汉市竹北路8号', '武汉市', '竹北区', '114754', '', '(020) 937-7588', '(020) 937-7588');
INSERT INTO `商品供应` VALUES ('2', '光权', '黄小姐', '董事长', '沈阳市中港路一段9号', '沈阳市', '沈阳', '420117', '', '(024) 555-4822', '(024) 555-4822', '#CAJUN.HTM#');
INSERT INTO `商品供应` VALUES ('20', '一心', '刘先生', '业务', '沈阳市中港路一段28号', '沈阳市', '沈阳', '535128', '', '(0287) 568-5735', '(0287) 568-5735', '');
INSERT INTO `商品供应` VALUES ('21', '日日通', '方先生', '业务助理', '长春南投路599号', '长春', '长春', '218000', '', '(0234) 355-5991', '(0234) 355-5991', '');
INSERT INTO `商品供应` VALUES ('22', '顺成', '刘先生', '研发人员', '济南市永大路477号', '济南市', '青岛', '249999', '', '(0834) 559-7654', '(0834) 559-7654', '');
INSERT INTO `商品供应` VALUES ('23', '利利', '谢小姐', '董事长', '青岛市中山路57号', '青岛市', '青岛', '513120', '', '(0346) 481-7877', '(0346) 481-7877', '');
INSERT INTO `商品供应` VALUES ('9', '掬花', '谢小姐', '董事长', '沈阳市仁爱路四段59号', '沈阳市', '沈阳', '515555', '', '(025) 889-5522', '(025) 889-5522', '');
INSERT INTO `员工` VALUES ('1016', '362409156370981', '王惠康', '-1', '天津县凤山市滨山街4号7楼之1', '115497', '022  7401837', '1978-05-11 00:00:00', '-1', '1993-12-09 00:00:00', '4864', '4208', '1994-02-08 00:00:00', '', '信息部', '李华');
INSERT INTO `员工` VALUES ('1017', '362409156371113', '白明玉', '-1', '沈阳市文心路三段296号7楼A室', '538607', '025  3242377', '1971-03-29 00:00:00', '-1', '1993-12-14 00:00:00', '1494', '1570', '1994-03-28 00:00:00', '', '信息部', '李华');
INSERT INTO `员工` VALUES ('1018', '362409156371253', '吴秋明', '-1', '上海市永和市竹林路91巷55弄5号之1,5楼', '532720', '010 63640231', '1980-01-01 00:00:00', '-1', '1994-01-27 00:00:00', '2524', '2800', '1994-03-20 00:00:00', '', '信息部', '李华');
INSERT INTO `员工` VALUES ('1019', '362409156371383', '郑惠琪', '-1', '上海市泰山乡贵子路36巷5弄3号', '532829', '010 69053296', '1980-01-01 00:00:00', '-1', '1993-12-07 00:00:00', '1468', '1022', '1994-02-15 00:00:00', '', '信息部', '李华');
INSERT INTO `员工` VALUES ('102', '107854156382220', '游仲崇', '-1', '武汉市科学工业园区展业二路10号1楼', '535594', '0571  730333', '1967-09-06 00:00:00', '-1', '1994-01-30 00:00:00', '1350', '2381', '1994-03-09 00:00:00', '', '财务部', '王耀民');
INSERT INTO `员工` VALUES ('1020', '362409156371613', '杨伟仁(PC)', '-1', '青岛潮州镇中正路59号', '117942', '08  7824357', '1980-01-01 00:00:00', '-1', '1994-01-24 00:00:00', '1826', '1254', '1994-02-17 00:00:00', '', '信息部', '李华');

3.查询数据

统计各个部门的最高工资、最低工资、平均工资、部门人数。

select 部门,max(目前薪资) as 最高工资,min(目前薪资) as 最低工资, avg(目前薪资) as 平均工资,count(*) as 部门人数 from 员工 group by 部门

查询员工表中各部门年龄最大的员工

select a.* from 员工 as a, (select 部门,min(出生日期) as 部门最小出生日期 from 员工 group by 部门) as b where a.部门 = b.部门 and a.出生日期 = b.部门最小出生日期;

查询有哪些员工姓名是重复的并显示重复姓名的人数

select 姓名,count(*)
from 员工
group by 姓名
having count(*) >= 2;

查询比平均单价高的产品的名称和单价

select 产品,单价 from 产品资料 where 单价 > ( select avg(单价) from 产品资料 );

查询哪些公司没有采购(客户,订货主档)

select * from 客户 where 客户编号 not in (select 客户编号 from 订货主档)

查询销售数量最多的产品信息(产品资料,订货明细)

select * from 产品资料 where 产品编号= ( select 产品编号 from 订货明细 group by 产品编号 order by count(*) desc limit 1 );

查询销售金额最多的产品信息

select * from 产品资料 where 产品编号 = ( select 产品编号 from 订货明细 group by 产品编号 order by sum(单价数量(1-折扣)) desc limit 1 );

查询1996年7月份客户采购的信息

select o.订单号码,o.客户编号,o.订单日期,s.单价,s.数量,s.折扣,c.公司名称,c.联系人 from 订货主档 as o,订货明细 as s, 客户 as c where o.客户编号 = c.客户编号 and o.订单号码 = s.订单号码 and o.订单日期 between '1996-07-01 00:00:00' and '1996-07-31 23:59:59';

查询采购金额最多的前三位公司详细信息

select o.订单号码,o.订单日期,s.单价,s.数量,s.折扣,c.公司名称,c.联系人 from 订货主档 as o,订货明细 as s,客户 as c where o.客户编号 = c.客户编号 and o.订单号码 = s.订单号码 and o.订单号码 in ( select 订单号码 from 订货明细 group by 订单号码 order by sum(单价数量(1-折扣)) desc limit 3 ) );

根据客户的采购数量多少从高到低排序对客户排序

select o.客户编号,count(o.订单号码) from 订货主档 as o,订货明细 as s,客户 as c where o.客户编号=c.客户编号 and o.订单号码=s.订单号码 group by o.客户编号 order by count(o.订单号码) desc;

统计各种产品类别的数量,按照产品类别数量从低到高显示

select t.类别编号,count(*) 
from 产品类别 as t,产品资料 as c
where t.类别编号=c.类别编号
group by t.类别编号 order by count(*);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 银行存款记录数据库模拟实训
    • 1.创建数据库和表
      • 2.插入数据
        • 3.查询数据
        • 商品进销系统模拟实训
          • 1.创建数据库和表
            • 2.插入数据
              • 3.查询数据
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档