当前位置:网站首页>【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 ='欧阳俊雄';
边栏推荐
猜你喜欢

Source code analysis of object wait notify notifyAll

您的登录IP不在管理员配置的登录掩码范围内

Windows backs up the database locally by command

Go intelligent robot alpha dog, alpha dog robot go

Basic use of Arc GIS 2

OFDM Lecture 16 - OFDM

附加到进程之后,断点显示“当前不会命中断点 还没有为该文档加载任何符号”

volatile 靠的是MESI协议解决可见性问题?(下)
![[MySQL] how to execute an SQL statement (2)](/img/7b/53f8756458cc318e2f417b1cc0c3f8.png)
[MySQL] how to execute an SQL statement (2)

Innovus is stuck, prompting x error:
随机推荐
多层嵌套后的 Fragment 懒加载实现
[MySQL] detailed explanation of MySQL lock (III)
C# Serialport的发送和接收
Stm32+mfrc522 completes IC card number reading, password modification, data reading and writing
Paper notes: knowledge map kgat (unfinished temporary storage)
dll中的全局变量
Fiddler抓包工具之移动端抓包
Neural network and deep learning-6-support vector machine 1-pytorch
Local cache
VectorTileLayer更换style
Selection and practice of distributed tracking system
PHP一次请求生命周期
什么是异步操作
Bloom filter
添加dll
mysql5.7.25主从复制(单向)
a-table中的rowSelection清空问题
The difference between thread join and object wait
[Online deadlock analysis] by index_ Deadlock event caused by merge
cocoapods的安装和使用