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

相关推荐
海南java第二人42 分钟前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧1 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱1 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp2 小时前
NoSql数据库设计心得
数据库·nosql
bjzhang753 小时前
CentOS下安装MySQL详解
linux·mysql·centos
睡不醒男孩0308234 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love5 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob5 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q5 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发5 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql