当前位置:网站首页>【Mysql数据库】mysql基本操作集锦-看得会的基础(增删改查)
【Mysql数据库】mysql基本操作集锦-看得会的基础(增删改查)
2022-07-26 09:26:00 【a box of Sweets】
1、examdb库中有两张表如下图所示:


2、对这两张表进行操作,包括建表
user ExamDB;
#mysql自增的键要是主键
CREATE TABLE ExamDB.stuinfo(
StuName VARCHAR(8) NOT NULL ,
StuNo VARCHAR(20) NOT NULL ,
StuSex VARCHAR(4) NOT NULL DEFAULT '男',
StuAge INT(4) NOT NULL,
StuSeat INT(4) NOT NULL AUTO_INCREMENT ,
StuAddress varchar(100) DEFAULT '地址不详',
PRIMARY KEY (`StuSeat`)
);
#表2 StuMarks
CREATE TABLE ExamDB.StuMarks(
ID INT(4) NOT NULL AUTO_INCREMENT,
ExamNo VARCHAR(22) NOT NULL,
StuNo VARCHAR(20) ,
WrittenExam INT(4) NOT NULL DEFAULT 0,
LabExam INT(4) NOT NULL NULL DEFAULT 0,
PRIMARY KEY (`ID`)
);
#添加数据
INSERT INTO ExamDB.stuinfo (
StuName,StuNo,StuSex,StuAge,StuSeat,StuAddress
)
VALUE(
'张秋丽',
'2013000001',
'男',
18,
1,
'北京海淀'
);
INSERT INTO ExamDB.stuinfo (
StuName,StuNo,StuSex,StuAge,StuSeat,StuAddress
)
VALUE(
'李斯文',
'2013000002',
'女',
22,
2,
'河南洛阳'
);
INSERT INTO ExamDB.stuinfo (
StuName,StuNo,StuSex,StuAge,StuSeat
)
VALUE(
'李文才',
'2013000003',
'男',
21,
3
);
INSERT INTO ExamDB.stuinfo (
StuName,StuNo,StuSex,StuAge,StuSeat,StuAddress
)
VALUE(
'欧阳俊雄',
'2013000004',
'男',
18,
4,
'新疆克拉玛依'
);
#插入数据 成绩表
INSERT INTO ExamDB.StuMarks (
ExamNo,
StuNo,
WrittenExam ,
LabExam
)
VALUE(
'E2013000001',
'2013000001',
80,
58
);
INSERT INTO ExamDB.StuMarks (
ExamNo,
StuNo,
WrittenExam
)
VALUE(
'E2013000002',
'2013000002',
50
);
INSERT INTO ExamDB.StuMarks (
ExamNo,
StuNo,
WrittenExam ,
LabExam
)
VALUE(
'E2013000003',
'2013000003',
97,
82
);
#三、数据的增删改查
-- #(一)查询操作
-- 1)查询两表的数据
SELECT * FROM ExamDB.stumarks;
SELECT * FROM ExamDB.stuinfo;
-- 2)查询男学员名单
SELECT * FROM stuinfo WHERE StuSex='男' ;
-- 3)查询笔试成绩优秀的学员情况(75~100分)
SELECT * FROM ExamDB.stumarks WHERE WrittenExam BETWEEN 75 AND 100;
-- 4)查询参考的学员成绩,包括学员姓名,笔试成绩,机试成绩
SELECT a.StuName,b.WrittenExam,b.LabExam FROM stuinfo a LEFT JOIN StuMarks b ON a.StuNo=b.StuNo ;
-- 5)统计笔试考试平均分和机试考试平均分
SELECT AVG(WrittenExam) as WrittenExam,AVG(LabExam) as LabExam FROM ExamDB.stumarks;
-- 6)统计参加本次考试的学员人数
SELECT count(*) from ExamDB.stumarks;
-- 7)查询没有通过考试的人数(笔试或机试小于60分)
SELECT count(*) from ExamDB.stumarks where WrittenExam<60 or LabExam>60 ;
-- 8)查询学员成绩,显示学号,笔试成绩,机试成绩,平均分
SELECT StuNo,WrittenExam, LabExam,(WrittenExam+LabExam)/2 as avg FROM ExamDB.stumarks GROUP BY StuNo;
-- 9)排名次(按平均分从高到低排序),显示学号、平均分
SELECT StuNo,(WrittenExam+LabExam)/2 as avg FROM ExamDB.stumarks GROUP BY StuNo order by avg DESC;
-- 10)重点:排名次(按平均分从高到低排序),显示姓名,笔试成绩,机试成绩,平均分
SELECT a.StuName,b.WrittenExam,b.LabExam,(b.WrittenExam+b.LabExam)/2 as avgsScore FROM ExamDB.stuinfo a
LEFT JOIN ExamDB.stumarks b on a.StuNo=b.StuNo order by avgsScore DESC ;
-- 11)重点:根据平均分,显示前两名信息,包括姓名、笔试成绩、机试成绩、平均分 limit
SELECT a.StuName,b.WrittenExam,b.LabExam,(b.WrittenExam+b.LabExam)/2 as avgsScore FROM ExamDB.stuinfo a
LEFT JOIN ExamDB.stumarks b on a.StuNo=b.StuNo order by avgsScore DESC LIMIT 2;
-- (二)DML操作
-- 1)重点:将所有笔试成绩全部加5分,但不得超过100分。
UPDATE stuMarks SET WrittenExam= if(WrittenExam>95,100,WrittenExam + 5 );
-- 2)将姓名为“欧阳俊雄”的学生姓名改为“欧阳买买提”
update ExamDB.stuinfo set StuName= '欧阳买买提' WHERE StuName ='欧阳俊雄';
边栏推荐
- Your login IP is not within the login mask configured by the administrator
- STM32+MFRC522完成IC卡号读取、密码修改、数据读写
- 2B and 2C
- 如何添加一个PDB
- 【Mysql】认识Mysql重要架构(一)
- asp.net 使用redis缓存(二)
- TabbarController的封装
- 【Mysql】redo log,undo log 和binlog详解(四)
- 2022 tea artist (intermediate) special operation certificate examination question bank simulated examination platform operation
- Zxing simplified version, reprinted
猜你喜欢

Stm32+mfrc522 completes IC card number reading, password modification, data reading and writing
![[MySQL] how to execute an SQL statement (2)](/img/7b/53f8756458cc318e2f417b1cc0c3f8.png)
[MySQL] how to execute an SQL statement (2)

Server memory failure prediction can actually do this!

Jmeter配置元件之CSV数据文件设置

【Mysql】认识Mysql重要架构(一)

【Mysql】一条SQL语句是怎么执行的(二)

注册模块用例编写

volatile 靠的是MESI协议解决可见性问题?(上)

Go intelligent robot alpha dog, alpha dog robot go

异常处理机制二
随机推荐
nodejs服务后台执行(forever)
字节缓冲流&字符流详解
点击input时,不显示边框!
Order based evaluation index (especially for recommendation system and multi label learning)
微信小程序开发
Smart gourmet C language
PMM(Percona Monitoring and Management )安装记录
Fiddler抓包工具之移动端抓包
【Mysql】一条SQL语句是怎么执行的(二)
Does volatile rely on the MESI protocol to solve the visibility problem? (next)
2020-12-29
PHP一次请求生命周期
WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
神经网络与深度学习-6- 支持向量机1 -PyTorch
选择器的使用
Neural network and deep learning-6-support vector machine 1-pytorch
Force deduction brush questions, sum of three numbers
[untitled]
Stm32+mfrc522 completes IC card number reading, password modification, data reading and writing
面试题目大赏