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博客

相关推荐
智购科技智能售货柜4 小时前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
ltl4 小时前
RocksDB 架构演进:相对 LevelDB 的 diff 地图
数据库
ltl4 小时前
存储读取性能优化:索引、Bloom Filter 与读放大
数据库
xier_ran8 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库
山甫aa9 小时前
Javaweb---MyBatis增删改查
java·数据库·后端·mybatis·springboot
其实防守也摸鱼10 小时前
接口审计:从原理到实践的万字深度指南
数据库·安全·自动化·github·copilot
@insist12310 小时前
系统集成项目管理工程师-信息和文档管理
网络·数据库·软考·系统集成项目管理工程师·软考中项·软件水平考试
残 风12 小时前
PostgreSQL 存储机制详解
数据库·postgresql·开源·数据库开发
JacksonMx12 小时前
Java CompletableFuture 异步编程实战:从入门到架构师避坑指南
linux·数据库·python