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

相关推荐
k***21601 小时前
【HTML+CSS】使用HTML与后端技术连接数据库
css·数据库·html
i***27951 小时前
使用 Canal 实时从 MySql 向其它库同步数据
数据库·mysql
e***75391 小时前
SQL Server 数据库迁移到 MySQL 的完整指南
android·数据库·mysql
b***46241 小时前
【mysql】锁机制 - 2.行锁间隙锁临键锁
数据库·mysql
yeshihouhou1 小时前
redis数据类型 stream消息队列
数据库·redis·缓存
bug管理者1 小时前
接口测试面试题汇总(含答案)
软件测试·数据库·面试
g***26791 小时前
PostgreSQL 查看数据库及表中数据占用空间大小
数据库·postgresql·oracle
小龙报1 小时前
VS2022调试技巧 + 实战案例
android·服务器·c语言·数据库·c++·windows·visual studio
i***48611 小时前
【MySQL】MySQL库的操作
android·数据库·mysql