表结构设计:(10分)
使用SQL语句创建两个数据表:“书籍表”、“读者表”,表结构如下所示:
(1)书籍表:(5分)
字段名称 | 数据类型 | 长度 | 是否为空 | 说明 |
图书编号 | char | 15 | 可以 | 主键 |
书名 | varchar | 100 | 可以 | |
作者 | varchar | 100 | 可以 | |
价格 | decimal | 精度为0.01 | 可以 | 整数位3 小数位2 |
种类 | char | 20 | 可以 | |
出版社 | varchar | 50 | 可以 | |
出版日期 | date | 可以 | ||
库存量 | int | 可以 |
(2)读者表:(5分)
字段名称 | 数据类型 | 长度 | 是否为空 | 说明 |
借书证号 | char | 30 | 非空 | 主键 |
姓名 | varchar | 50 | 可以 | |
性别 | char | 2 | 可以 | 默认为男 |
出生日期 | date | 可以 | 默认格式 2022-12-1 | |
单位 | varchar | 100 | 可以 | |
类别 | char | 6 | 可以 | |
电话 | char | 15 | 可以为空 |
(1)
CREATE TABLE书籍(
图书编号 CHAR(15)PRIMARY KEY,
书名 VARCHAR(100),
作者 VARCHAR(100),
价格 DECIMAL(5,2),
种类 CHAR(20),
出版社 VARCHAR(50),
出版日期 DATE,
库存量 INT
);
(2)
CREATE TABLE 读者(
借书证号 CHAR(30) NOT NULL PRIMARY KEY,
姓名 VARCHAR(50),
性别 CHAR(2) DEFAULT '男',
出生日期 DATE,
单位 VARCHAR(100),
类别 CHAR(6),
电话 CHAR(15)
);
输入记录:(10分)
(1)“书籍”表数据:(5分)
图书编号 | 书名 | 作者 | 价格 | 种类 | 出版社 | 出版日期 | 库存量 |
0001 | SQL | 周雅静 | 48 | 计算机类 | 电子工业出版社 | 2015-09-09 | 10 |
0002 | 英语 | 刘璇 | 43 | 语言类 | 清华大学出版社 | 2016-02-02 | 8 |
0003 | 网页 | 张梦迪 | 38 | 计算机类 | 人民邮电出版社 | 2016-07-09 | 3 |
0004 | 数电 | 王欢 | 26 | 电子类 | 高等教育出版社 | 2015-08-03 | 3 |
0005 | 模电 | 李媛 | 35 | 电子类 | 高等教育出版社 | 2015-08-03 | 6 |
(2)读者表数据:(5分)
借书证号 | 姓名 | 性别 | 出生 日期 | 单位 | 类别 | 电话 |
01 | 张三 | 男 | 空 | 电子系 | 学生 | 13789898765 |
02 | 李四 | 女 | 1985-1-1 | 计应用系 | 老师 | 13989598732 |
03 | 王五 | 男 | 空 | 电子系 | 老师 |
|
04 | 陈六 | 男 | 2000-1-1 | 电子商务系 | 学生 |
|
INSERT INTO 书籍(图书编号,书名,作者,价格,种类,出版社,出版日期,库存量)
VALUES('0001','SQL','周雅静',48.00,'计算机类','电子工业出版社','2015-09-09',10),
('0002','英语','刘璇',43.00,'语言类','清华大学出版社','2016-02-02',8),
('0003','网页','张梦迪',38.00,'计算机类','人民邮电出版社','2016-07-09',3),
('0004','数电','王欢',26.00,'电子类','高等教育出版社','2015-08-03',3),
('0005','模电','李媛',35.00,'电子类','高等教育出版社','2015-08-03',6);
INSERT INTO 读者(借书证号,姓名,性别,出生日期,单位,类别,电话)
VALUES('01','张三','男',NULL,'电子系','学生','13789898765'),
('02','李四','女','1985-01-01','计应用系','老师','13989598732'),
('03','王五','男',NULL,'电子系','老师',NULL),
('04','陈六','男','2000-01-01','电子商务系','学生',NULL);
查询数据(共计20分,使用SQL语句进行操作,在dos或者Navicat终端下均可)
- 在书籍表中查询图书编号为0003的图书信息。(5分)
- 查询读者的姓名及单位。(5分)
- 查找价格在30元以上且库存量超过5本的图书,并按照价格降序排序。(5分)
- 分别统计男女读者的人数。(5分)
1、
SELECT * FROM 书籍 WHERE 图书编号='0003';
2、
SELECT 姓名,单位 FROM 读者;
3、
SELECT * FROM 书籍 WHERE 价格>30.00 AND 库存量>5 ORDER BY 价格 DESC;
4、
SELECT COUNT(*) 男读者人数 FROM 读者 WHERE 性别='男';
SELECT COUNT(*) 女读者人数 FROM 读者 WHERE 性别='女';