MySQL学习笔记—查询练习

本文是一篇关于MySQL学习的实战笔记,涵盖了从创建数据表到执行各种查询操作的过程,包括查询所有记录、选择特定列、排除重复项、区间查询、子查询、分组统计、多表联合查询等。通过示例展示了如何查询学生信息、成绩分布、课程平均分、特定条件筛选等,是MySQL初学者的实用参考资料。
摘要由CSDN通过智能技术生成

1.首先建立几张表

学生表
Student:学号、姓名、性别、出生年月日、所在班级

create table Student(
	sno varchar(20) primary key,
	sname varchar(20) not null,
	ssex varchar(2) not null,
	sbirthday datetime,
	classno varchar(20)
);

课程表
Course:课程号、课程名称、教师编号
//教师编号是教师表的外键,必须先创建依赖

create table Couse(
	cno varchar(20) primary key,
	cname varchar(20) not null,
	tno varchar(20) not null,
	foreign key(tno) references Teacher(tno)		
);

成绩表
Score:学号、课程号、成绩
create table Score(
sno varchar(20),
cno varchar(20) not null,
degree decimal,
primary key (sno,cno),
foreign key (sno) references Student(sno),
foreign key (cno) references Course(cno)
);

教师表
Teacher:教师编号、教师名字、教师性别、出生年月日、职称、所在部门

create table Teacher(
	tno varchar(20) primary key,
	tname varchar(20) not null,
	tsex varchar(2) not null,
	tbirthday datetime,
	prof varchar(20) not null,
	department varchar(20) not null
);
  1. 向数据表中添加数据
    – 往数据表中添加数据
    #添加学生信息
    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’);
    mysql> select * from student;
    ±----±-------±-----±--------------------±--------+
    | sno | sname | ssex | sbirthday | classno |
    ±----±-------±-----±--------------------±--------+
    | 101 | 曾华 | 男 | 1977-09-01 00:00:00 | 95033 |
    | 102 | 匡明 | 男 | 1975-10-02 00:00:00 | 95031 |
    | 103 | 王丽 | 女 | 1976-01-23 00:00:00 | 95033 |
    | 104 | 李军 | 男 | 1976-02-20 00:00:00 | 95033 |
    | 105 | 王芳 | 女 | 1975-02-10 00:00:00 | 95031 |
    | 106 | 陆君 | 男 | 1974-06-03 00:00:00 | 95031 |
    | 107 | 王尼玛 | 男 | 1976-02-20 00:00:00 | 95033 |
    | 108 | 张全蛋 | 男 | 1975-02-10 00:00:00 | 95031 |
    | 109 | 赵铁柱 | 男 | 1974-06-03 00:00:00 | 95031 |
    ±----±-------±-----±--------------------±--------+
    9 rows in set (0.00 sec)

#添加教师表
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');
//修改主键
ALTER TABLE `test2` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `id` )
#添加成绩表
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');

查询练习

1、查询student表中的所有记录

mysql> select * from student;
±----±-------±-----±--------------------±--------+
| sno | sname | ssex | sbirthday | classno |
±----±-------±-----±--------------------±--------+
| 101 | 曾华 | 男 | 1977-09-01 00:00:00 | 95033 |
| 102 | 匡明 | 男 | 1975-10-02 00:00:00 | 95031 |
|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值