【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...

相关推荐
DB哥讲数据库5 小时前
【ClickHouse安装教程】从零开始部署高性能列式数据库(附ClickHouse安装包)
数据库·clickhouse
TDengine (老段)6 小时前
TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark
大数据·数据库·物联网·flink·kafka·时序数据库·tdengine
小白勇闯网安圈14 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨15 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
科技绘图16 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl16 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl16 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl16 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code17 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶18 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构