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

相关推荐
余槐i3 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
数据库小学妹3 小时前
PostgreSQL表膨胀怎么办?autovacuum清不动的根因与排查命令
数据库·postgresql·表膨胀·mvcc·数据库运维
mister_guo3 小时前
MySQL-1267错误:排序规则冲突的原因与解决方案
数据库·mysql
骇客野人3 小时前
在麒麟操作系统上 分别安装 jdk1.8, 达梦数据库,redis ,memcache 的操作实施方案和步骤
数据库·redis·memcached
美狐美颜SDK开放平台5 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
Lost_the_wind5 小时前
MySQL学习笔记五
mysql
花间相见6 小时前
【计算基础|MySQL01】【上手】安装连接、数据类型与建库建表
数据库·后端
花间相见6 小时前
【计算基础|MySQL02】【上手】SQL 增删改查
数据库·后端
ITxiaobing20237 小时前
IP 库与 AppsFlyer 国家/地区数据不一致,如何系统地对账?
数据库·网络协议·tcp/ip
这个DBA有点耶7 小时前
从时间到语义:时序数据库与向量数据库的核心机制、选型与多模融合趋势
数据库·mysql·架构