MySQL训练

创建表

create table book(
bid int primary key auto_increment,
b_name char(32) not null unique,
auth char(10) not null ,
press varchar(50) not null ,
price float(10,2) not null,
p_date Date not null
);

添加数据

insert into book(b_name,auth,press,price,p_date) values('倚天屠龙记','egon','北京工业地雷出版社',70,'2019-7-1'),('九阳神功','alex','人民音乐不好听出版社',5,'2018-7-4'),('九阴真经','yuan','北京工业地雷出版社',62,'2017-7-12'),('九阴白骨爪','jinxin','人民音乐不好听出版社',40,'2019–8-7'),('独孤九剑','alex','北京工业地雷出版社',12,'2017-9-1'),('降龙十巴掌','egon','知识产权没有用出版社',20,'2019-7-5'),('葵花宝典','yuan','知识产权没有用出版社',33,'2019–8-2');

1.查询egon写的所有书和价格

select b_name,price from book where auth='egon';

2.找出最贵的图书的价格

select b_name,max(price) from book;

3.求所有图书的均价

select avg(price) as '平均价格' from book;

4.将所有图书按照出版日期排序

select * from book order by p_date;	 # 升序

5.查询alex写的所有书的平均价格

select group_concat(b_name),avg(price) from book where auth='alex';

6.查询人民音乐不好听出版社出版的所有图书

select b_name from book where press='人民音乐不好听出版社';

7.查询人民音乐出版社出版的alex写的所有图书和价格]

select b_name,price from book where auth='alex' and press='人民音乐不好听出版社';

8.找出出版图书均价最高的作者

 select auth,avg(price) price from book group by auth order by avg(price) desc limit 1 ;

9.找出最新出版的图书的作者和出版社

select  auth,press from book order by p_date limit 1;

10.显示各出版社出版的所有图书

select  press,group_concat(b_name) from book group by press;

11.查找价格最高的图书,并将它的价格修改为50元

update book set price=50 where b_name in (select b_name from (select b_name, max(price) from book) as t);

12.删除价格最低的那本书对应的数据

delete from book order by price limit 1;

13.将所有alex写的书作业修改成alexsb
update book set auth='alexsb' where auth='alex' ;

14.select year(publish_date) from book
自己研究上面sql语句中的year函数的功能,完成需求:
将所有2017年出版的图书从数据库中删除

delete from book where year(p_date)='2017';

15.有文件如下,请根据链接自学pymysql模块,使用python写代码将文件中的数据写入数据库
学python从开始到放弃|alex|人民大学出版社|50|2018-7-1
学mysql从开始到放弃|egon|机械工业出版社|60|2018-6-3
学html从开始到放弃|alex|机械工业出版社|20|2018-4-1
学css从开始到放弃|wusir|机械工业出版社|120|2018-5-2
学js从开始到放弃|wusir|机械工业出版社|100|2018-7-30

见py文件

posted @ 2024-01-03 23:19  染指未来  阅读(4)  评论(0编辑  收藏  举报