本人在校学生,希望能借助平台记录下自己的成长,同时也希望分享自己的一些独特的想法。本次上机使用的平台:Windows10,软件:Mysql Workbench 8.0 CE。文末附上完整MySQL源码。
1、熟练掌握和使用MySQL创建数据库、表索引和修改表结构,并学会使用Workbench 查询分进行结果分析。
2、掌握查看、修改数据库和表的属性的方法
3、在建立好的数据库表中输入部分虚拟数据,学会如何实现基于单表的简单查询。
CREATE DATABASE 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)
);
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,58,'李明','2017-03-14','书本正常');
insert into book values(1002,'电脑维修','机械出版社','跟我修电脑',15,49,'张加军','2017-03-14','有2本出现缺页');
insert into book values(1003,'信息技术','清华大学出版社','数据库原理',30,65,'刘智','2016-05-23','书本正常');
insert into book values(1004,'信息技术','北京大学出版社','计算机组成原理',25,56,'王小丽','2016-05-23','暂无');
insert into book values(1005,'电子技术','浙江大学出版社','射频识别',40,62,'唐飞宏','2018-11-12','暂无');
insert into book values(1006,'电脑维修','西部院校出版社','电脑组装那些事',15,42,'李笑容','2018-11-12','暂无');
insert into reader values(20180517,'鲁大势','男','软件学院',13879064214);
insert into reader values(20180214,'尚香','女','艺术学院',16779026573);
insert into reader values(20180319,'章达','男','体育学院',17779014725);
insert into reader values(20180211,'布丘仁','男','机电学院',13879041563);
insert into reader values(20180428,'张小艾','女','信息学院',16779097214);
insert into reader values(20180514,'章小鱼','女','经管学院',1377906542);
insert into borrow values(1003,20180214,'2020-02-14','2020-03-15');
insert into borrow values(1001,20180517,'2020-01-10',null);
insert into borrow values(1002,20180514,'2020-02-11','2020/04/6');
insert into borrow values(1004,20180319,'2019-12-23',null);
insert into borrow values(1006,20180211,'2019-11-16','2019-12-23');
insert into borrow values(1005,20180428,'2020-03-24',null);
-- 查询book表中的所有内容
select * from book;
-- where后面接条件
select * from book where bclass='信息技术';
-- group by 后面接分组依据
select count(*) from book group by bclass;
-- order by 后面接排序依据,默认升序(增加asc),降序关键字为desc,接在rno后面。
select rno,count(bno)
from borrow
group by rno
order by rno;
本期就到这里结束了,更多SQL操作将在今后陆续更新!最后,JIAN 祝大家学习进步,生活愉快!
use 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)
);
-- 增加字段
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,58,'李明','2017-03-14','书本正常');
insert into book values(1002,'电脑维修','机械出版社','跟我修电脑',15,49,'张加军','2017-03-14','有2本出现缺页');
insert into book values(1003,'信息技术','清华大学出版社','数据库原理',30,65,'刘智','2016-05-23','书本正常');
insert into book values(1004,'信息技术','北京大学出版社','计算机组成原理',25,56,'王小丽','2016-05-23','暂无');
insert into book values(1005,'电子技术','浙江大学出版社','射频识别',40,62,'唐飞宏','2018-11-12','暂无');
insert into book values(1006,'电脑维修','西部院校出版社','电脑组装那些事',15,42,'李笑容','2018-11-12','暂无');
insert into reader values(20180517,'鲁大势','男','软件学院',13879064214);
insert into reader values(20180214,'尚香','女','艺术学院',16779026573);
insert into reader values(20180319,'章达','男','体育学院',17779014725);
insert into reader values(20180211,'布丘仁','男','机电学院',13879041563);
insert into reader values(20180428,'张小艾','女','信息学院',16779097214);
insert into reader values(20180514,'章小鱼','女','经管学院',1377906542);
insert into borrow values(1003,20180214,'2020-02-14','2020-03-15');
insert into borrow values(1001,20180517,'2020-01-10',null);
insert into borrow values(1002,20180514,'2020-02-11','2020/04/6');
insert into borrow values(1004,20180319,'2019-12-23',null);
insert into borrow values(1006,20180211,'2019-11-16','2019-12-23');
insert into borrow values(1005,20180428,'2020-03-24',null);
-- 查询练习
select * from book;
SELECT *
FROM book
WHERE bclass='信息技术';
SELECT *
FROM book
GROUP BY bclass;
SELECT *
FROM reader;
SELECT *
FROM borrow;
SELECT rno,count(bno)
FROM borrow
GROUP BY rno
ORDER BY rno;
SELECT bno,count(rno)
FROM borrow
GROUP BY bno
ORDER by bno;