第一題
CREATE TABLE classes(
? id? INT? PRIMARY KEY AUTO_INCREMENT,
? NAME VARCHAR(10))
-- 創(chuàng)建表
create table students(
id? int,
name VARCHAR(20),
birthday VARCHAR(20),
gender VARCHAR(20),
score VARCHAR(20),
class_id VARCHAR(20)
)
-- 創(chuàng)建表
INSERT INTO classes (NAME) VALUES ('一年級(jí)'),('二年級(jí)'),('三年級(jí)')
--? 在班級(jí)表中添加三條記錄、
INSERT into students(id,name,birthday,gender,score,class_id) VALUES
(1,'zs','2010-11-10','nan','100','1'),
(2,'李四','2012-11-10','女','75','1'),
(3,'王五','2014-11-10','男','80','2'),
(4,'小明','2013-11-10','女','60','2'),
(5,'小李','2013-11-10','女','70','2'),
(6,'小劉','2008-11-10','男','90','3')
-- 插入數(shù)據(jù)
-- 5 使用pymysql查詢
SELECT c.name,AVG(s.score) FROM students s,classes c GROUP BY class_id
-- 6 修改張三的名字為張五
UPDATE students set name="張五" where id = 1
-- 7 刪除班級(jí)為三年級(jí)的所有學(xué)生
DELETE FROM students WHERE class_id = (SELECT id cid FROM classes WHERE NAME='三年級(jí)')
-- 8? 查詢一年級(jí)分?jǐn)?shù)最高的人
SELECT name,MAX(score) AS '最高成績(jī)' FROM students? WHERE class_id='1';
-- 9 查詢有學(xué)生的年級(jí)信息
SELECT s.NAME,c.name FROM students s, classes c WHERE s.class_id=c.id
-- 10 查詢以‘小’開頭的名字為一個(gè)字學(xué)生
SELECT * from students where name LIKE '小%'
-- 11查詢出生日期在2008-11-10到2012-11-10的學(xué)生
SELECT * from students where birthday > '2008-11-10' and birthday < '2012-11-10'
第二題
-- 創(chuàng)建一個(gè)分類表(cate),包含字段id,name
CREATE TABLE cate(
id INT PRIMARY KEY auto_increment,
cname VARCHAR(20)
)
-- 創(chuàng)建一個(gè)商品表(goods),包含字段id,name,number,create_time,price,cate_id
CREATE TABLE goods(
id INT PRIMARY KEY auto_increment,
gname VARCHAR(10),
number INT,
create_time date,
price DOUBLE,
cate_id INT
)
-- 在分類表中添加三條記錄 id:1 name:服裝,id:2 name:玩具,id:3 name:家電
INSERT into cate(cname)
VALUES("服裝"),
? ? ? ? ("玩具"),
? ? ? ? ("家電")
-- 在商品表里添加六條記錄
INSERT into goods(gname,create_time,number,price,cate_id)
VALUES('羽絨服','2010-11-10','10','1.00','1'),
? ? ? ('輕便服','2012-11-10','30','2.00','1'),
? ? ? ('汽車','2014-11-10','40','2.00','2'),
? ? ? ('公主','2013-11-10','50','6.00','2'),
? ? ? ('橡皮泥','2015-11-10','23','3.50','2'),
? ? ? ('電飯煲','2008-11-10','3','3.00','3')
-- 使用pymysql模塊來查詢所有的分類及商品
select * from goods g LEFT JOIN cate c ON g.cate_id=c.id
--? 把名字為‘羽絨服’修改成‘棉衣’
UPDATE goods? SET gname="棉衣" WHERE gname="羽絨服"
--? 刪除名字為‘電飯煲’的記錄
delete FROM goods WHERE gname="電飯煲"
-- 查詢‘服裝’分類下面庫(kù)存最多的商品信息
SELECT g.gname,MAX(g.number) as "庫(kù)存最多"
FROM goods g,cate c
WHERE c.cname="服裝"
-- 查詢分類下有商品分類信息
select c.cname,g.gname
from cate c,goods g
WHERE c.id=g.cate_id
-- 查詢以‘服’結(jié)束的商品信息
SELECT * FROM goods where gname like '%服'
-- 查詢創(chuàng)建日期在2008-11-10到2012-11-10的之間的商品
SELECT g.gname,g.create_time
from goods g
where g.create_time>'2008-11-10' and g.create_time<'2012-11-10'
第三題