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

相关推荐
optimistic_chen2 小时前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
一个天蝎座 白勺 程序猿2 小时前
KingbaseES 处理 PL/SQL 运行时错误全解析:从异常捕获到异常处理的实践指南
数据库·sql·oracle·kingbasees
leo_2323 小时前
表&表结构--SMP(软件制作平台)语言基础知识之三十三
数据库·开发工具·表结构·smp(软件制作平台)·应用系统
C***11503 小时前
Spring TransactionTemplate 深入解析与高级用法
java·数据库·spring
计算机学姐3 小时前
基于SpringBoot的汉服租赁系统【颜色尺码套装+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue建筑材料管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
2301_800256113 小时前
B+树:数据库的基石 R树:空间数据的索引专家 四叉树:空间划分的网格大师
数据结构·数据库·b树·机器学习·postgresql·r-tree
程序人生5183 小时前
宝塔安装完mysql5.7后 root无法通过远程连接问题排查
mysql·宝塔面板
大厂技术总监下海3 小时前
用户行为分析怎么做?ClickHouse + 嵌套数据结构,轻松处理复杂事件
大数据·数据结构·数据库
alonewolf_994 小时前
深入理解MySQL事务与锁机制:从原理到实践
android·数据库·mysql