MYSQL中表的基本查询

表的增删改查

Create(创建)

单行插入

使用insert into可以对表中任意一行进行插入

如果要省略某一列值,则需要写明每一列值对应的name

多行插入

如果要进行多行插入,则每一个值需要用" , "隔开

如果要指定列插入(省略某些行),也需要写明每一列对应的name

插入已有数据(自动更新)

由于主键或唯一键对应的值可能已经存在,会导致插入失败

可以选择insert ... on duplicate key update

这样,如果出现了冲突(数据已经存在),就会就会对已有数据进行更新

替换

主键或唯一键如果没有冲突则直接插入

如果存在插入,则删除后再插入

使用replace into可以进行替换插入

ReTrieve(读取)

全列查询

select * from name 可以进行全列查询

但是通常不会这样,因为数据库中数据通常很多

查询字段为表达式

使用select 字段名/表达式 from 表名

可以单独查询某些数据

结果去重

使用select distinct ... 可以去除重复数据

WHERE条件

where是一种筛选语句

案例:

结果排序

ASC是升序

DESC是降序

使用 ORDER BY 可以进行排序

NULL参与排序,排序数值默认比所有数据都要小

Update

使用 update ... set ... 可以对查询到的结果进行列值更新

Delete

使用delete from tablename ... 可以删除数据

截断表

使用truncate tablename可以将表阶段

实际上不对数据进行操作,所以比delete更快

但是删除数据后无法回滚

去重

去重需要建立一张新表,将去重的数据插入新表中,再将新表的名字改成旧表

就实现了表的去重

聚合函数

mysql中存在聚合函数可以对查询到的结果返回

聚合函数如下:

使用distinct可以对去重结果进行聚合

分组聚合

使用group by可以对指定列进行分组查询

分组的目的是为了聚合统计

分组指定列名,实际是用该列的不同的行数据来进行分组的

having可以和group可以搭配使用,对分组进行筛选

where是对具体的任意列进行条件筛选

而having是对分组聚合后的结果进行条件筛选

相关推荐
我不是程序员三三2 分钟前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna7 分钟前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎38 分钟前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
牛战士coding1 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
goehou2 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
我不会插花弄玉2 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
周小董2 小时前
[1369]Windows上安装PostgreSQL
数据库·windows·postgresql
一只积极向上的小咸鱼4 小时前
第一性原理思考:从拆解问题到用实验检验答案
数据库
这个DBA有点耶5 小时前
时序数据库InfluxDB高基数问题深度拆解:内存索引膨胀机制与OOM完整链路
数据库·架构·dba
SL_staff5 小时前
运维救火实录:钉钉考勤API变更引发工资计算异常,我们用JVS-Logic可视化逻辑引擎实现分钟级热修复
java·mysql·全栈