当前位置: 首页 > news >正文

MySQL表的基础的增删改查

增(insert into)

插入所有列的数据

不写具体列名要确保字段都对应正确

-- 假设你有一个名为 "employees" 的表,有多个列
INSERT INTO employees
VALUES (101, 'Alice', 'Manager', 50000);

插入指定列的数据

-- 假设你有一个名为 "students" 的表,有 id、name 和 age 列
INSERT INTO students (name, age)
VALUES ('John', 20);

一次插入多行数据

INSERT INTO students (name, age)
VALUES('John', 20),('Alice', 22),('Bob', 21),('Emma', 23);

查(select from)

全列查询*

使用通配符*

语法

select * from 表名;

注意

  • 一般情况下不建议使用全列查询, 不然数据太多影响性能甚至出现问题

指定列查询

语法

select 列名1,列名2,... from 表名;

注意

  • 列名可以不按顺序写

查询字段为表达式

举例

select id,name,10 from user;
-- 打印id列,name列,还有"10"列这列每行数据都是10select id,name,english+10 from exam;
-- 打印id列,name列,(english+10)列这列每个数据都是原始的english数据+10select id,name,chinese+math+english from exam;
-- 同理

别名as

为查询结果中的列指定别名,结果集中以别名作为该列的名称

举例

select id,name,chinese+math+english as '总分' from exam;

注意

  • as不加不报错, 建议加

去重distinct

对某列数据进行去重, 针对的是每行所有的列数据

示例

select id,math from exam;
-- 当math有重复的时候,都会打印select distinct id,math from exam;
-- 当id和math完全重复时只显示一个

排序order by

举例(ASC升序,DESC降序)

select name,math from exam order by math ASC;
-- 按math升序排序select name,chinese from exam order by chinese DESC;
-- 按chinese降序排序

对于null的排序

  • null与正常数据比较, 都是最小的, 升序就在上面降序就在下面
  • null与别的值比较都会返回false
  • null和0是两个东西
  • null与任何值运算都是null

使用表达式及别名排序

select name,chinese+math+english as total from exam order by total DESC;
-- order by 后面也可以写表达式

多字段排序

select name,chinese,math,english from exam order by chinese DESC,math ASC,english ASC;
-- 先按chinese降序排序,当分数相同时再按math升序排序,要是又一样按english升序排序

条件查询where

运算符说明

运算符说明
>, >= <,<=字面意思
=等于
null不安全, null=null结果是null
<=>等于
null安全, null=null结果是true
!=, <>不等于
between A and B如果x属于[A,B], 返回true
in (A,B,C,D,…)如果x属于A,B,C,D,…其中一个就返回true
is null字面意思
is not null字面意思
like模糊匹配
% 表示0~任意多个字符
_表示任意一个字符
and字面意思
or字面意思
not字面意思

注意

  • where后面不可以用别名
  • and的优先级高于or, 可以搭配括号

分页查询limit

举例

-- 按id分页, 每页3个记录, 分别显示1,2,3页-- 第1页
select * from exam order by id limit 3 offset 0;
-- 第2页
select * from exam order by id limit 3 offset 3;
-- 第3页
select * from exam order by id limit 3 offset 6;-- limit限制每页数量, offset表示从第几行开始显示-- 从0开始往后查3条
select * from exam order by id limit 0,3;

改(update tablename set)

说明

要配合where限定条件找到需要修改的数据

语法

update 表名 set 列名=数据 (限定条件);

举例

update exam set math=99 where name='张三';update exam set math=99,chinese=88 where name='李四';-- 将总成绩倒数前三的人数学成绩加10分
update exam set math=math+10 order by(chinese+math+english) ASC limit 3;

删(delete from tablename)

说明

要配合where限定条件找到需要修改的数据

语法

delete from 表名 (where) (order by) (limit)
http://www.lryc.cn/news/119365.html

相关文章:

  • 数字化车间
  • 基础堆排序
  • ISC 2023 | 赛宁网安验证评估 重磅发布
  • 浅谈AI浪潮下的视频大数据发展趋势与应用
  • github 无语的问题,Host does not existfatal: Could not read from remote repository.
  • 机器学习基础之《特征工程(4)—特征降维—案例》
  • docker 删除镜像文件
  • ArcGIS Pro 基础安装与配置介绍
  • 剑指 Offer 13. 机器人的运动范围
  • 技术应用:Docker安全性的最佳实验|聊聊工程化Docker
  • 【Tomcat】Tomcat部署及优化
  • xAI与GPT-4:探索宇宙真实本质的AI之战
  • unity vscode 代码关联 跳转 BUG
  • Linux命令200例:tree用于以树状结构显示文件和目录
  • [C++项目] Boost文档 站内搜索引擎(5): cpphttplib实现网络服务、html页面实现、服务器部署...
  • PO、VO、DAO、BO、DTO、POJO 能分清吗?
  • 31 | 独角兽企业数据分析
  • Kotlin语法
  • 【单片机】51单片机,晨启科技,板子引脚对应关系
  • Swift 数据类型
  • 2.本地存储
  • win10远程桌面控制Ubuntu服务器 - 内网穿透实现公网远程
  • 【Git】—— 标签管理
  • JS_判断打开的是什么手机品牌,判断是否是手机,平板,pc
  • HCIA 动态路由协议之RIP协议
  • 提供高品质正规话费充值接口,H5链接,稳定高效!
  • 苍穹外卖day12笔记
  • Prometheus技术文档-基本使用-配置文件全解!!!!!
  • 宋浩高等数学笔记(十一)曲线积分与曲面积分
  • 安卓如何快速定位native内存泄露。