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

相关推荐
猿月亮1 分钟前
MySQL5.7安装图文详细步骤(保姆级教程)-mysql5.7下载安装
mysql·adb
huan1991105 分钟前
nacos2.3.0 接入pgsql或其他数据库
数据库
changhong198626 分钟前
mybatisPlus打印sql配置
数据库·sql
l1t28 分钟前
用官方安装脚本安装duckdb 1.5并测试加载各种插件
数据库·docker·postgresql·kylin
jinanmichael29 分钟前
Mybatis控制台打印SQL执行信息(执行方法、执行SQL、执行时间)
数据库·sql·mybatis
J2虾虾43 分钟前
给Redis增加密码
数据库·redis·缓存
Mr数据杨44 分钟前
【Dv3Admin】Django通用自定义工作台卡片
数据库·django·sqlite
山峰哥1 小时前
SQL优化全攻略:从索引策略到Explain实战解析
大数据·数据库·sql·oracle·性能优化·编辑器
JuneXcy1 小时前
第9章 关系模式的规范化设计理论
数据库·mysql
larance2 小时前
NebulaGraph 数据库部署与运维指令清单
linux·服务器·数据库