后端MySQL常用命令

不是专业后端的,所有可能有些不太准确,都是自己平时在项目当中总结的,谢谢ฅฅ*

添加/insert

给指定字段添加数据

INSERT INTO 表名 字段名 VALUES 值

sql 复制代码
INSERT INTO ninth_student (id,name,sex,age,weight,birth) VALUES (0,'亚亚','女',18,47,'2002-05-23')

给全部字段添加数据

INSERT INTO 表名 VALUES 值

批量添加数据

INSERT INTO 表名 字段名 VALUES 值1,值2

INSERT INTO 表名 VALUES 值1,值2

sql 复制代码
INSERT INTO ninth_student VALUES (0,'哎亚亚','男',20,50,'2003-04-16'),(0,'SUN亚蛋','女',21,47,'2002-09-08'),(0,'哈哈哈','男',25,80,'1998-02-01'),(0,'嘎嘎嘎','男',30,75,'1993-05-12'),(0,'噜啦啦','女',23,52,'2000-11-28')

修改/update

UPDATE 表名 set 字段名=值 WHERE 条件

sql 复制代码
UPDATE ninth_student set birth='2005-04-07' WHERE id=1

一定要加where条件,要不然会修改整张表的所有数据

删除/delete

DELETE FROM 表名 WHERE 条件

sql 复制代码
DELETE FROM ninth_student WHERE id=8

一定要加where条件,要不然会删除整张表的所有数据

查询/select

基本查询

SELECT 字段名 from 表名

sql 复制代码
SELECT id,name,sex,age,weight,birth from ninth_student

条件查询

用where表示查询的条件

SELECT 字段名 from 表名 WHERE 条件

sql 复制代码
SELECT id,name,age,sex,weight,birth from ninth_student WHERE id BETWEEN 1 and 5

SELECT 字段名 from 表名 WHERE 条件 and/or 条件

sql 复制代码
SELECT id,name,age,sex,weight,birth from ninth_student WHERE id>5 and sex='男'
SELECT id,name,age,sex,weight,birth from ninth_student WHERE id>5 OR sex='男'

模糊查询/like

利用%

sql 复制代码
SELECT id,name,age,sex,weight,birth from ninth_student WHERE name LIKE '%亚'
SELECT id,name,age,sex,weight,birth from ninth_student WHERE name LIKE '亚%'
SELECT id,name,age,sex,weight,birth from ninth_student WHERE name LIKE '%亚%'

利用_,一个_代表一个字符,如果前面有两个字,就加两个

sql 复制代码
SELECT id,name,age,sex,weight,birth from ninth_student WHERE name LIKE '_马'

分页查询/limit

SELECT 字段名 表名 LIMIT (n-1)*每页展示个数,每页展示个数

sql 复制代码
SELECT id,name,age,sex,weight,birth from ninth_student LIMIT 0,4
SELECT id,name,age,sex,weight,birth from ninth_student LIMIT 4,4

排序

SELECT 字段名 from 表名 ORDER BY age ASC/DESC

sql 复制代码
SELECT id,name,age,sex,weight,birth from ninth_student ORDER BY age ASC
SELECT id,name,age,sex,weight,birth from ninth_student ORDER BY id DESC

聚合函数

SELECT COUNT(0) from 表名:表示总共有几条数据

SELECT SUM(字段名) from 表名:求和

SELECT AVG(字段名) from 表名:平均数

SELECT MIN(字段名) from 表名:最大

SELECT MAX(字段名) from 表名:最小

SELECT CAST(AVG(字段名) as DECIMAL(10,0)) as AVG from 表名:类型转换

sql 复制代码
SELECT COUNT(0) from ninth_student
SELECT SUM(age) from ninth_student
SELECT AVG(age) from ninth_student
SELECT MIN(age) from ninth_student
SELECT MAX(age) from ninth_student
SELECT CAST(AVG(age) as DECIMAL(10,0)) as AVG from ninth_student

分组查询

SELECT 字段名,聚合函数 from 表名 GROUP BY 字段名

GROUP BY 字段名:根据...分组

group by 分组字段,select后跟的也是相应的分组字段,他俩是一致的

where是分组前,having是分组后

having后面跟条件的话,也只能跟聚合函数

sql 复制代码
SELECT sex,COUNT(0),AVG(age) from ninth_student GROUP BY sex
SELECT sex,COUNT(0),AVG(age) from ninth_student WHERE age>22 GROUP BY sex HAVING AVG(age)>20

子查询

把查询到的结果当做另一个查询的条件

SELECT 字段名 from 表1 WHERE 字段名1 = (SELECT 表1_字段名1 from 表 WHERE 字段名='值')

sql 复制代码
SELECT name from dept WHERE id = (SELECT dept_id from ninth_student WHERE name='小马')

内连接

多表联查,一定要待条件!!!

inner join 表示内连接

on 表和表之间的连接,只能用on

inner join ... on ... 只要看见join就加on

看到,就写where

SELECT 表1.字段名1,表1.字段名1,字段名1,字段名1,字段名1,字段名1,表2.字段名2,表2.字段名2 from 表1 INNER JOIN 表2 ON 表1.字段名1 = 表2.字段名2

sql 复制代码
SELECT ninth_student.id,ninth_student.name,age,sex,weight,birth,dept.id,dept.name from ninth_student INNER JOIN dept ON ninth_student.id = dept.id
SELECT ninth_student.id,ninth_student.name,age,sex,weight,birth,dept.id,dept.name from ninth_student,dept WHERE ninth_student.dept_id = dept.id
SELECT ninth_student.id,ninth_student.name,age,sex,weight,birth,dept.id,dept.name from ninth_student,dept WHERE ninth_student.id = dept.id

外连接

在实际开发中,左外连接用的比较多

left join查询左边表的所有部分和右边表的交集,就是以左边的表为主

左外是以左边的表为主表,查询的结果只关注左表,不在乎右边

right join查询的是右边表的所有部分和左边表的交集,就是以右边的表为主

sql 复制代码
SELECT ninth_student.id,ninth_student.name,sex,age,weight,birth,dept.id,dept.name from dept LEFT JOIN ninth_student ON ninth_student.dept_id = dept.id
SELECT ninth_student.id,ninth_student.name,sex,age,weight,birth,dept.id,dept.name from dept RIGHT JOIN ninth_student ON ninth_student.dept_id = dept.id
相关推荐
YangYang9YangYan8 分钟前
2026高职会计电算化专业高价值技能证书
大数据·学习·区块链
a努力。8 分钟前
国家电网Java面试被问:Spring Boot Starter 制作原理
java·spring boot·面试
一 乐8 分钟前
酒店预约|基于springboot + vue酒店预约系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
老蒋新思维13 分钟前
从「流量算法」到「增长算法」:AI智能体如何重构企业增长的内在逻辑
大数据·网络·人工智能·重构·创始人ip·创客匠人·知识变现
NineData23 分钟前
NineData第三届数据库编程大赛:用一条SQL解数独问题
数据库·云计算·ai编程
五度易链-区域产业数字化管理平台44 分钟前
大数据与 AI 赋能招商全流程:五度易链平台的技术架构与实践应用解析
大数据·人工智能
guslegend1 小时前
Tomact高级使用及原理剖析
java
Code blocks1 小时前
SpringBoot从0-1集成Minio对象存储
java·spring boot·后端
来自于狂人1 小时前
华为云Stack服务实例创建失败通用排查对照表(备考+生产故障定位必备)
服务器·数据库·华为云
故渊ZY1 小时前
MyBatis事务原理与实战指南
java·mybatis