博客由来
本人在校学生,希望能借助平台记录下自己的成长,同时也希望分享自己的一些独特的想法。本次上机使用的平台:Windows10,软件:Mysql Workbench 8.0 CE。文末附上完整MySQL源码。
实验目的
1、熟练掌握和使用MySQL创建数据库、表索引和修改表结构,并学会使用Workbench 查询分进行结果分析。
2、掌握查看、修改数据库和表的属性的方法
3、在建立好的数据库表中输入部分虚拟数据,学会如何实现基于单表的简单查询。
实验内容
- 使用Mysql Workbench 8.0 创建一个“图书读者数据库”(book_reader_db)
CREATE DATABASE book_reader_db;
- 使用Workbench查看book_reader_db的数据库属性,并进行修改,使之符合要求。三个表的结构为:
- 创建三表
create table book(
bno int primary key,
bclass varchar(20) not null,
press varchar(20) not null,
bname varchar(20) not null,
price float not null,
other varchar(50)
);
create table reader(
rno int primary key,
rname varchar(10) not null,
sex enum('男','女') not null,
depart varchar(20) not null,
tel bigint
);
create table borrow(
bno int not null,
rno int not null,
bor_date datetime,
foreign key(bno) references book(bno),
foreign key(rno) references reader(rno)
);
- 实现相关约束:
- 使用Workbench来建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束。
foreign key(bno) references book(bno);
foreign key(rno) references reader(rno);
- 实现读者性别只能是“男”或“女”的约束。
enum('男','女');
-
查询分析器修改表的结构。
-
在"图书"(book)表中,增加两个字段,分别为"数量"(bnum)和"购买日期"(buy_date)。在“借阅”(borrow)表中增加一个“还书日期"(reb_date)字段。
ALTER TABLE book
ADD bnum INT NOT NULL AFTER bname;
ALTER TABLE book
ADD buy_date DATE NOT NULL AFTER price;
ALTER TABLE borrow
ADD reb_date DATETIME AFTER bor_date;
ALTER TABLE book
ADD author varchar(20) NOT NULL AFTER price;
- 插入数据(自己编的,如有雷同,纯属巧合,无意冒犯)
insert into book values(1001,'电子技术','工业出版社','无线电技术',20