数据库查询-数据准备及目录
数据库查询系列内容列表:
数据库查询练习-简单查询练习及笔记(1)
- 1查询表中所有记录
- 2查询指定字段
- 3 distinct: 去重查询
- 4 查询区间
- 5 运算符查询
- 6 表示或者关系的查询(同一字段中查询)
- 7 表示或者关系的查询(多个字段中查询)
- 8 升序排列 降序排列
- 10 统计
- 11 查询最大,最小值
- 12 子查询
- 13 分页查询
- 14 查询空数据
数据库查询练习-简单查询练习及笔记(2)
- 1 分组计算平均成绩
- 2 分组条件与模糊查询
- 3 模糊查询
数据库查询练习-多表联查
- 1多表联查
- 2子查询加分组求平均分
- 4YEAR 函数与带 IN 关键字查询
- 5UNION 和 NOTIN 的使用
- 6表示所有的 ALL
- 7ANY 表示至少一个 - DESC ( 降序 )
- 8按等级查询
- 9连接查询
数据库查询练习-事务
- 手动开启事务 - BEGIN / START TRANSACTION
- 事务的 ACID 特征与使用
- 事务的隔离性
数据准备
学生表(student)
学号,姓名,性别,出生日期,所在班级
#创建学生表
CREATE TABLE student (
sno VARCHAR(20) PRIMARY KEY,
sname VARCHAR(20) NOT NULL,
ssex VARCHAR(10) NOT NULL,
sbirthday DATETIME, -- 生日
sclass VARCHAR(20) -- 所在班级
);
教师表(teacher)
教师编号,教师名字,教师性别,出生年月,职称,所在部门
-- 创建教师表
CREATE TABLE teacher (
tno VARCHAR(20) PRIMARY KEY,
tname VARCHAR(20) NOT NULL,
tsex VARCHAR(10) NOT NULL,
tbirthday DATETIME,
prof VARCHAR(20) NOT NULL, -- 职称
depart VARCHAR(20) NOT NULL -- 部门
);
课程表(course)
课程号,课程名称,课程编号
-- 创建课程表
CREATE TABLE course (
cno VARCHAR(20) PRIMARY KEY,
cname VARCHAR(20) NOT NULL,
tno VARCHAR(20) NOT NULL, -- 教师编号
-- 表示该 tno 来自于 teacher 表中的 tno 字段值
FOREIGN KEY(tno) REFERENCES teacher(tno)
);
成绩表(score)
学号,课程号,成绩
-- 成绩表
CREATE TABLE score (
sno VARCHAR(20) NOT NULL, -- 学生编号
cno VARCHAR(20) NOT NULL, -- 课程号
degree DECIMAL, -- 成绩
-- 表示该 sno, cno 分别来自于 student, course 表中的 cno 字段值
FOREIGN KEY(sno) REFERENCES student(sno),
FOREIGN KEY(cno) REFERENCES course(cno),
-- 设置 s_no, c_no 为联合主键
PRIMARY KEY(sno, cno)
);
在表中添加数据
-- 添加学生表数据
INSERT INTO student VALUES('101', '曾华', '男', '1977-09-01', '95033');
INSERT INTO student VALUES('102', '匡明', '男', '1975-10-02', '95031');
INSERT INTO student VALUES('103', '王丽', '女', '1976-01-23', '95033');
INSERT INTO student VALUES('104', '李军', '男', '1976-02-20', '95033');
INSERT INTO student VALUES('105', '王芳', '女', '1975-02-10', '95031');
INSERT INTO student VALUES('106', '陆军', '男', '1974-06-03', '95031');
INSERT INTO student VALUES('107', '王尼玛', '男', '1976-02-20', '95033');
INSERT INTO student VALUES('108', '张全蛋', '男', '1975-02-10', '95031');
INSERT INTO student VALUES('109', '赵铁柱', '男', '1974-06-03', '95031');
-- 添加教师表数据
INSERT INTO teacher VALUES('804', '李诚', '男', '1958-12-02', '副教授', '计算机系');
INSERT INTO teacher VALUES('856', '张旭', '男', '1969-03-12', '讲师', '电子工程系');
INSERT INTO teacher VALUES('825', '王萍', '女', '1972-05-05', '助教', '计算机系');
INSERT INTO teacher VALUES('831', '刘冰', '女', '1977-08-14', '助教', '电子工程系');
-- 添加课程表数据
INSERT INTO course VALUES('3-105', '计算机导论', '825');
INSERT INTO course VALUES('3-245', '操作系统', '804');
INSERT INTO course VALUES('6-166', '数字电路', '856');
INSERT INTO course VALUES('9-888', '高等数学', '831');
-- 添加添加成绩表数据
INSERT INTO score VALUES('103', '3-105', '92');
INSERT INTO score VALUES('103', '3-245', '86');
INSERT INTO score VALUES('103', '6-166', '85');
INSERT INTO score VALUES('105', '3-105', '88');
INSERT INTO score VALUES('105', '3-245', '75');
INSERT INTO score VALUES('105', '6-166', '79');
INSERT INTO score VALUES('109', '3-105', '76');
INSERT INTO score VALUES('109', '3-245', '68');
INSERT INTO score VALUES('109', '6-166', '81');