mysql的第二次作业

-- 第一题
CREATE TABLE games(
	YEAR INT NOT NULL PRIMARY KEY,
	city VARCHAR(20)
);
-- 删除games表
DROP TABLE games;

-- 插入 2004 希腊
INSERT INTO games(YEAR,city) VALUES (2004,'希腊');

-- 插入 2008 北京
INSERT INTO games(YEAR,city) VALUES (2008,'北京');

-- 插入 2000 悉尼
INSERT INTO games(YEAR,city) VALUES (2000,'悉尼');

-- 查询
SELECT * FROM games;

-- 添加后三界奥运会举办的城市
INSERT INTO games(YEAR,city) SELECT YEAR+12 ,city FROM games;

-- 查询games表
SELECT * FROM games;

效果

-- 添加后三界奥运会举办的城市
INSERT INTO games(YEAR,city) SELECT YEAR+12 ,city FROM games;

-- 将2012年奥运会举办的城市更改为" 伦敦"
UPDATE games SET city='伦敦' WHERE YEAR=2012;


-- 删除2016年和2020年奥运会举办城市的数据
DELETE FROM games WHERE YEAR=2016 OR YEAR=2020;

-- 第二题 
CREATE TABLE BBc(
	NAME VARCHAR(10),
	region VARCHAR(10),
	AREA NUMERIC(10,2),
	population NUMERIC(10),
	gdp NUMERIC(10)
);
-- 插入中国
INSERT INTO BBc (NAME,region,AREA,population,gdp) VALUES ('中国','亚洲',960,120000,1002800);
-- 插入美国
INSERT INTO BBc (NAME,region,AREA,population,gdp) VALUES ('美国','北美洲',937,30000,1752800);
-- 插入日本
INSERT INTO BBc (NAME,region,AREA,population,gdp) VALUES ('日本','亚洲',37,12500,484600);
-- 插入德国
INSERT INTO BBc (NAME,region,AREA,population,gdp) VALUES ('德国','欧洲',35,8164,379400);
-- 插入英国
INSERT INTO BBc (NAME,region,AREA,population,gdp) VALUES ('英国','欧洲',24,5880,282800);
-- 插入巴西
INSERT INTO BBc (NAME,region,AREA,population,gdp) VALUES ('巴西','南美洲',854,16000,221600);

-- 删除bbc所有数据
DELETE FROM bbc;

-- 查询bbc
SELECT * FROM bbc;

效果

-- 给出人口不小于200000000的国家的名字和人均GDP
SELECT NAME,gdp FROM BBC b WHERE b.`population`>2000 ;

-- 查询地区属于欧洲的国家名称和人口数
SELECT NAME,population FROM BBc b WHERE b.`region`='欧洲';

-- 查询出中国,美国,日本三个国家的名称,面积,人口.
SELECT NAME,AREA,population FROM bbc b WHERE b.`name` IN('中国','美国','日本');

-- 查询出带有'国'字的国家名称
SELECT * FROM bbc b WHERE b.`name`LIKE '%国%';

-- 查询全世界共有哪些国家.
SELECT NAME FROM bbc b WHERE b.`name` IS NOT NULL;

-- 按人口将全世界国家排序.人口多的排最前.
SELECT NAME FROM bbc b ORDER BY b.`population` DESC;

-- 将日本的地区改成火星
UPDATE bbc b SET b.`region`='火星' WHERE b.`name`='日本';

-- 删除侵略过中国的国家
DELETE FROM bbc WHERE NAME='日本' OR NAME='美国';

-- 第三题
CREATE TABLE nobe1(
	ID INT PRIMARY KEY AUTO_INCREMENT ,
	yr NUMERIC(4),
	SUBJECT VARCHAR (10),
	winner VARCHAR(10)
);

-- 插入张三
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2000,'java','张三');

-- 插入李四
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2001,'c++','李四');

-- 插入王五
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2002,'c','王五');

-- 插入赵六
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2002,'java','赵六');

-- 插入刘八
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2002,'c','刘八');

-- 插入罗九
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2002,'c++','罗九');

-- 插入朱十
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2003,'java','朱十');

-- 插入陈十一
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2004,'足球','陈十一');

-- 插入唐十二
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2005,'篮球','唐十二');

-- 插入隔壁老王
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2006,'乒乓球','隔壁老王');

-- 查看nobe1表
SELECT * FROM nobe1;

效果图

-- 个专业多少人
SELECT n.`subject` AS 专业,COUNT(*) AS 人数 FROM  nobe1 n GROUP BY n.`subject`;

-- 查询出2000年c语言获奖者
SELECT winner FROM nobe1 n WHERE n.`subject`='c' AND n.`yr`=2000;

-- 查询出2002年所有获奖者
SELECT winner FROM nobe1 n WHERE n.`yr`=2002;

-- 查询出足球奖项获得者和年份
SELECT winner,yr FROM nobe1 n WHERE n.`subject`='足球';

-- 查询出2000年以来java奖项获得者
SELECT winner FROM nobe1 n WHERE n.`subject`='java' AND n.`yr`>=2000;

-- 查询出2001年-2006年所有java奖项的获得者
SELECT winner FROM nobe1 n WHERE n.`yr`IN(2001,2002,2003,2004,2005,2006) AND n.`subject`='java';

-- 查询出名字中带有八的获奖者和获得奖项以及年份
SELECT winner,SUBJECT,yr FROM nobe1 b WHERE b.`winner` LIKE '%八%';

-- 查询出2000年以来一共出现了几种奖项. 去重复
SELECT DISTINCT SUBJECT  FROM nobe1 n WHERE  n.`yr`>=2000 ;

-- 增加你获得过的奇葩奖项
INSERT INTO nobe1 (ID,yr,SUBJECT,winner) VALUES (NULL,2019,'乒乓球','文昌剑');

-- 修改2006年的奖项为LOL,获奖者为你自己
UPDATE nobe1 n SET n.`subject`='LOL',n.`winner`='文昌剑' WHERE n.`yr`=2006 ;

-- 按年份逆序查询 高-低
SELECT * FROM nobe1 n ORDER BY n.`yr` DESC;


-- 将昨天作业的学生表中加入10条数据.
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (1,'赵四','语文',18,56.2,58,65.5);

INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (7,'赵五','语文',18,54.2,53,64.54);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (3,'赵六','语文',18,46.2,52,62.5);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (8,'赵七','语文',18,65.2,68,85.5);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (9,'赵八','语文',18,76.2,78,75.5);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (10,'赵九','语文',18,86.2,88,45.5);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (11,'赵十','语文',18,66.2,58.33,45.1);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (12,'李一','语文',18,46.2,98.5,85.2);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (13,'李二','语文',18,55.2,55.6,45.3);
INSERT INTO student1 (studentNum,NAME,major,age,lang,math,English) VALUES (14,'李三','语文',18,53.2,57.6,35.4);

SELECT * FROM student1;


--  计算各专业下语 数 英 的平均分
SELECT s.`major`,AVG(s.`lang`),AVG(s.`math`),AVG(s.`English`) FROM student1 s GROUP BY s.`major`;
发布了7 篇原创文章 · 获赞 0 · 访问量 125

猜你喜欢

转载自blog.csdn.net/winwinwin99/article/details/99707990