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

相关推荐
童谣13 小时前
越华环保集团市级统筹申报数字化中台:政策校验与减排仿真一体化架构
数据库·架构
制造数据与AI践行者老蒋3 小时前
离谱!PromptTemplate 遇上 JSON,花括号直接引发解析战争
数据库·microsoft·json
中微极客3 小时前
用LangChain 0.3构建生产级RAG与Agent:从API集成到Streamlit部署
数据库·人工智能·langchain
吴声子夜歌3 小时前
MongoDB 4.x——并发优化
数据库·mongodb
不如语冰4 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
提笔了无痕5 小时前
MySQL SQL 从 EXPLAIN 到索引优化,搞懂 SQL 为什么慢
android·sql·mysql
l1t6 小时前
DeepSeek总结的DuckLake 架构深度剖析-2
数据库·架构
YOU OU6 小时前
Redis事务
数据库·redis·缓存
辰同学ovo6 小时前
从一条 SQL 到三个原则:MySQL 心智模型
sql·mysql·adb
数智化管理手记7 小时前
财务大数据怎么管住资金风险?财务大数据和财务数智化到底怎么结合?
大数据·网络·数据库·人工智能·数据挖掘