MySQL复习汇总(图书管理系统)

MySQL图书管理系统(49-94)源码_71.备份book数据库到e盘的mybook.sql文件(备份文件中要求包含建库命令)-CSDN博客

CROSS JOIN:交叉连接(笛卡尔积)

-- 1、 创建一个名称为book的数据库。

-- 2、 打开book数据库

-- 3、 创建数据表分别如下(除外键之外)

-- 4、 修改"管理员"表中"姓名"字段的长度为varchar(20)

-- 5、 将"管理员"表中"姓名"字段移到"密码"字段之后

-- 6、 在"管理员"表中添加一列:电话 char(11)

-- 7、 删除"管理员"表中的"电话"列

sql 复制代码
-- 1、	创建一个名称为book的数据库。
CREATE DATABASE book;
-- 2、	打开book数据库
use book;
 
 
-- 3、	创建数据表分别如下(除外键之外):
 
	CREATE TABLE 图书(
	图书条码号 varchar(11) PRIMARY key  not NULL,
	ISBN varchar(20),
	馆藏地编号 char(4) not NULL,
	分类号 varchar(11) not NULL
	);
 
 
	CREATE TABLE 图书详情(
	ISBN varchar(20) not NULL PRIMARY key,
	书名 varchar(20) not NULL,
	作者 varchar(11) not NULL,
	出版社 varchar(20),
	出版日期 datetime,
	价格 float,
	简介 varchar(200)
	);
 
 
	
	CREATE TABLE 读者(
	借书证编号 varchar(14) PRIMARY key not NULL,
	身份证号 char(18) not NULL UNIQUE,
	姓名 varchar(20) not NULL,
	性别 char(1) not NULL,
	部门 varchar(20) not NULL,
	住址 varchar(30),
	电话 char(11) UNIQUE,
	电子邮件 varchar(30) UNIQUE,
	读者类别编号 char(2)
	);
 
 
	CREATE TABLE 借书证(
	借书证编号 varchar(14) PRIMARY key not NULL,
	密码 varchar(20) DEFAULT"000000",
	状态 char(3) not NULL DEFAULT"01" 
	);
 
 
	CREATE TABLE 读者类别(
	读者类别编号 char(2) PRIMARY key not NULL,
	类别 varchar(11) not NULL UNIQUE,
	可借数量 int not NULL,
	借期 int not NULL
	);
 
 
 
	CREATE TABLE 管理员(
	工号 varchar(11) PRIMARY key not NULL,
	姓名 varchar(11) not NULL,
	密码 varchar(20) not NULL,
	性别 char(1) not NULL,
	职称 varchar(6),
	职务 varchar(6)
	);
 
	
 
	CREATE TABLE 借阅(
	借阅id int PRIMARY key auto_increment not NULL,
	借书证编号  varchar(14),
	图书条码号 varchar(11),
	借出日期 datetime not NULL,
	归还日期 datetime,
	状态 CHAR(3) not NULL DEFAULT 01
	);
	
 
 
	CREATE TABLE 馆藏地(
	馆藏地编号 char(4) PRIMARY key not NULL,
	地点 varchar(10) not NULL,
	楼层 char(2) not NULL
	);
	
 
 
 
-- 4、	修改"管理员"表中"姓名"字段的长度为varchar(20)
ALTER TABLE 管理员 MODIFY 姓名 VARCHAR(20) not null;
-- 5、	将"管理员"表中"姓名"字段移到"密码"字段之后
ALTER TABLE 管理员 MODIFY 姓名 VARCHAR(20) not null AFTER 密码;
-- 6、	在"管理员"表中添加一列:电话  char(11) 
ALTER TABLE 管理员 ADD 电话 CHAR(11);
-- 7、	删除"管理员"表中的"电话"列
ALTER TABLE 管理员 DROP 电话;
 
sql 复制代码
-- 8、	创建外键,建立各表之间的联系,设置级联更新、级联删除
	-- 各表中外键如下:
		-- "图书"表的"馆藏地编号",关联"馆藏地"表的"馆藏地编号"
		alter table 图书
		add constraint fk_图书_馆藏地 foreign key(馆藏地编号) references 馆藏地(馆藏地编号)
		on delete cascade on update cascade;
		-- "图书"表的"ISBN",关联"图书详情"表的"ISBN"
		alter table 图书
		add constraint fk_图书_图书详情 foreign key(ISBN) references 图书详情(ISBN)
		on delete cascade on update cascade;
		-- "读者"表的"读者类别编号",关联"读者类别"表的"读者类别编号"
		 alter table 读者
		 add constraint fk_读者_读者类别 foreign key(读者类别编号) references 读者类别(读者类别编号)
		on delete cascade on update cascade;
		-- "借阅"表的"借书证编号",关联"读者"表的"借书证编号"
		alter table 借阅
		add constraint fk_借阅_读者 foreign key(借书证编号) references 读者(借书证编号)
		on delete cascade on update cascade;
		-- "借阅"表的"图书条码号",关联"图书"表的"图书条码号"
		 alter table 借阅
		 add constraint fk_借阅_图书 foreign key(图书条码号) references 图书(图书条码号)
		 on delete cascade on update cascade;
		-- "借书证"表的"借书证编号",关联"读者"表的"借书证编号"
		alter table 借书证
		add constraint fk_借书证_读者 foreign key(借书证编号) references 读者(借书证编号)
		on delete cascade on update cascade;
 
 
-- 9、	按如下顺序导入数据(管理员的顺序可以任意),数据见 "数据文件"文件夹。。
	-- 馆藏地、读者类别------图书详情------图书、读者------借阅
	-- 本题截图为navicat中的E-R图和"借阅"数据表中已经导入的数据截图
 
-- 10、	将读者表中读者"刘星"的姓名更改为自己的真实姓名的拼音
 
update  读者 set 姓名='zengziqian' where 姓名='刘星';
 
 
-- 11、	向读者表插入一条记录,其中:借书证编号为"90041011000016",身份证号码为"123456789123456789",姓名为自己真实姓名的的拼音,读者类别编号为"02",其他信息任意。
insert into 读者 values ('90041011000016', '123456789123456789', 'zengziqian','女', '信息工程学院', '学生宿舍503','1366707969','206100798@qq.com', '02');
-- 12、	删除工号为"2013000105"的管理员信息
delete from 管理员 where 工号=2013000105;
 
 
 
 
 

mysql图书管理系统(15-26)源代码_- 24、mysql检索图书isbn不是'964-223-154-3','796-113-225-6-CSDN博客

mysql图书管理系统(27-38)源代码_mysql图书管理系统分类统计-CSDN博客

mysql图书管理系统(39-48)源代码_-- 39、用条件连接查询每个读者的借书证编号、姓名、类别、可借数量、借期。-CSDN博客

相关推荐
自不量力的A同学18 分钟前
Redisson 4.2.0 发布,官方推荐的 Redis 客户端
数据库·redis·缓存
Exquisite.20 分钟前
Mysql
数据库·mysql
全栈前端老曹1 小时前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集
R1nG8631 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
阿钱真强道1 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)
linux·服务器·网络·数据库·网络协议
逍遥德2 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring
笨蛋不要掉眼泪2 小时前
Redis哨兵机制全解析:原理、配置与实战故障转移演示
java·数据库·redis·缓存·bootstrap
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-整体架构优化设计方案
java·数据库·人工智能·spring boot·架构·ddd
fen_fen10 小时前
Oracle建表语句示例
数据库·oracle
砚边数影12 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库