【百日精通JAVA | SQL篇 | 第三篇】 MYSQL增删改查

SQL得最核心就是增删改查

一个后端开发,在工作中,最常见的场景就是CRUD。

插入数据

sql 复制代码
insert into student values (1,'zhangsan');

指定列插入数据

同时多个列明之间使用逗号,来分割

sql 复制代码
insert into student (name) values ('zhaoliu');

这个黑框是客户端,通过SQL语句对服务器中的数据进行改变,服务器再返回效果。

为什么说select * 是一个非常危险的操作?

如果该表中的数据特别多,select * 一瞬间服务器访问,疯狂的访问硬盘,导致一瞬间服务器,硬盘的带宽和网卡的带宽都吃满了。如果服务器还在给其他

这一种访问方式,其实查看的是临时数据;同时临时表中的数据和原始表中的数据,不一定完全一致。

SQL字段查询的时候,可以对其进行起别名,列明、表明 都可起名别,使用as关键字,但是查询到的结果也是临时。

按照列名升序排序

编程当中,= 为复制,但是在SQL语言中 表示比较相等。

MYSQL在查询语句中,查询的列名起别名后,在where子句当中不可使用,否则报错。

看似在MYSQL设计中,完全可以让where子句,能够识别出别名,但是现在mysql一直没有支持。

站在sql的执行顺序上,也能一定程度的解释上述现象。

select语句执行顺序:

1.遍历到某个指定的行

2.带入条件筛选

3.条件为true,被筛选成功之后,再计算select列明这里的表达式。

模糊查询

sql 复制代码
select * from exam_result where name like '%孙%';

空值查询

如果直接查询 xxx = NULL ,这种结果值为false,无法筛选出

我们使用 xxx <=> NULL 或者 xxx is NULL 的方法来查询结果

limit限制显示信息

这句代码的意思,一次查询最多显示4条记录。

sql 复制代码
select  * from exam_result limit 4;

SQL中的delete删除语句,是按照行数据来删除的, 无法来按照列删除

键值设置

not null 不允许空值

unique 唯一不允许存在两行数据,在这个指定列上重复

相关推荐
meta INGU6 小时前
mysql数据被误删的恢复方案
数据库·mysql
27669582926 小时前
acw_sc__v2
数据库·acw_sc__v2·acw_sc__v2逆向·acw_sc__v2算法分析·acw_sc__v2分析·acw_sc__v2还原·acw_sc__v2-ck
AI进化营-智能译站6 小时前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
刀法如飞6 小时前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
Empty-Filled6 小时前
Claude Gateway 排查教程
网络·数据库·人工智能
薪火铺子7 小时前
SpringMVC请求处理流程源码解析(第1篇):请求入口与处理器映射
java·后端·spring
ch.ju7 小时前
Java程序设计(第3版)第二章——参数(实参 形参)
java
椰猫子7 小时前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
海兰7 小时前
【开篇】Spring AI、OpenClaw 和Hermes
java·人工智能·spring·spring ai
2401_882273727 小时前
pattern属性在旧版Android浏览器无效怎么办_手动验证补充【操作】
jvm·数据库·python