一 创建学校数据库及各表建立
创建数据库
/*CREATE DATABASE <数据库名称>;
*/
CREATE DATABASE school;
建立表格
/*
CREATE TABLE <表名> (<列名1> <数据类型> <该列所需约束>,
<列名2> <数据类型> <该列所需约束>,
<列名3> <数据类型> <该列所需约束>,
<列名4> <数据类型> <该列所需约束>,
.......
<该表的约束1>, <该表的约束2>,……);
*/
create table student
(学号 char(10) not null,
姓名 varchar(10) not null,
出生日期 date not null,
性别 char(1) not null,
primary key (product_id));
案例:各表数据建立
insert into student(学号,姓名,出生日期,性别)
values('0001','猴子','1989-01-01','男'),
('0002','猴子','1990-12-21','女'),
('0003','马云','1991-12-21','男'),
('0004','王思聪','1990-05-20','男');
insert into score(学号,课程号,成绩)
values('0001','0001',80),
('0001','0002',90),
('0001','0003',90),
('0002','0002',60),
('0002','0003',80),
('0003','0001',80),
('0003','0002',80),
('0003','0003',80);
insert into course(课程号,课程名称,教师号)
values('0001','语文','0002'),
('0002','数学','0001'),
('0003','英语','0003');
insert into teacher(教师号,教师姓名)
values('0001','孟扎扎'),
('0002','马化腾'),
('0003',null),
('0004','');
二: 简单查询
基本语法:select <字段1>,<字段2>
from table
where 查询条件 like '*%*';
=====(模糊查询)"%"可以代替任意字符
实列:
- 查询姓‘猴’的学生名单;名字末尾是‘猴’的学生名单 以及名字中涉及‘猴’的学生
- 查询姓‘孟’老师的个数
三 汇总分析
- 查询课程编号为“0002”的总成绩
/*
分析思路
select 查询结果 [总成绩:汇总函数sum]
from 从哪张表中查找数据[成绩表score]
where 查询条件 [课程号是0002]
*/
select sum(成绩)
from score
where 课程号 = '0002';
- 查询选了课程的学生人数
/*
分析思路
select 学号,成绩表里学号有重复值需要去掉
from 从课程表查找score;
*/
select 课程号,count(distinct 学号) as 学生人数
from score
group by 课程号;
四 分组
- 查询各科成绩最高和最低的分
/*
查询各科成绩最高分最低分
分析思路
select 查询结果(课程号,成