【MySql】CRUD

CRUD 是 MySQL 核心操作,涵盖增删改查全流程。本文聚焦实战场景,拆解基础语法与避坑技巧,助力快速掌握数据操作核心,夯实数据库应用基础。

1.insert添加数据

语法:insert into 表名字段1,... values (,...)(,...),...

指定列插入

语法:insert into 表名指定列 values (,...)(,...),...

将旧表的数据插入到新表中

语法:insert into 表名... select ...


注:

  • 每次执行所有的SQL语句的时候都有网络开销
  • 写入数据的时候也会有磁盘IO开销
  • 每次执行一条SQL语句的时候都会开启一个事务,事务的开启和关闭都需要消耗系统资源

2. 修改数据库字符集

语法:alter table 表名 modify 字段名 字段类型 character set utf8mb4 collate utf8mb4_0900_ai_ci;

3. 查询

  1. 全列查询

语法:select * from 表名; -- 工作中慎用 ,一定要添加条件判断,否则一下几千万条数据加载出来会很占系统资源

  1. 指定列查询

语法:select 列名,列名,... from 表名;

  1. 别名

用关键字as来写,但是实际上工作中都用简写的方法,不用写as直接在表名后面写别名即可。

  1. 去重查询(关键字distinct)

语法:select distinct 列名 from 表名;

只有每一列都相同,MySql才认为他是重复数据。

  1. 排序(order by)

语法:在查询后面直接加 order by 要排序的字段 desc/asc 就行, mysql默认是asc的。

desc:降序

asc:升序

desc在这边是降序的,但是还能来了查看表结构。

  1. 在没有指定排序的时候,一般是随机按照某个字段来排序的。

  2. NULL在排序中是最小的,比任何数都要小,包括负数

  3. 不论任何值和null运算结果都是null

  4. null始终被判定为false

  5. 可以对多个字段进行排序,排序的优先级和插入的顺序有关系

  6. 条件查询(where关键字)

可以在表名后面添加条件,判断是否符合条件的查询。

但是=判断不了null,所以就需要用<=> 来判断是否是等于null了

  1. beween n1 on n2; -- 一个范围

查询英语成绩在60~70之间的数据

  1. in (...)

只查找在()里面的数据,只查找英语成绩为67和98的数据

  1. is null

判断是否为空

  1. is not null

判断是否不为空

  1. like(模糊匹配)

这里有两个选项%/_ ,%是指匹配大于等于0个字符的数据,_是只匹配只有一个字符的数据

  1. 逻辑运算符

and => && or => || not => !

  1. 当where条件使用了表达式的时候,那么必须要先把完整的表达式写到where中,不能用别名。

  2. 一条select语句的执行顺序

eg: select * from exam where name = '马超' order by english asc limit 0,3;

  1. 首先肯定是先执行from后面的表,先找到需要查询的是哪张表
  2. 工具where条件来过滤掉那些不需要的数据
  3. 看用户需要哪些字段
  4. 排序规则
  5. 要分几页,从第几行开始查询
  1. 分页查询

语法:limit n or limit s,n or limit n offset s

n:要分几页

s:从第几行开始分

limit和offset都是关键字

4.修改数据updata

语法:updata 表名 set 列名=...,...,... where ... order by ... limit ...;

重点!!!

修改数据的时候一定要添加where,否则将这个字段的所有数据全部修改了,是很恐怖的!!!

5.删除delete

语法:delete from 表名 where... order by... limit...

相关推荐
这个DBA有点耶4 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶6 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技6 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend7 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence10 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql