MySQL表的增删改查(基础)

【MySQL系列】MySQL表的增删改查(基础) 咳咳~~为了本篇博客的学习,先把MySQL数据库里面自己创建的表都删掉~~并且留下自己创建的java数据库~~ 阅读详情

目录

1.新增

1.1单行数据 +全列插入

1.2多行数据 + 全列插入

 1.3指定插入

 2.查询

2.1全列查询

2.2指定列查询 

 2.3查询字段为表达式

 2.4别名

 2.5 去重

 2.6排序

 ​编辑 2.7条件查询

3.修改(Update)

 4.删除(Delete)


1.新增

1.1单行数据 +全列插入

insert into 表名 values(列,列……);

注意:

这里给出的列的数目和类型,都要和表结构相匹配。 

1.2多行数据 + 全列插入

insert into 表名 values(列,列……),(列,列……)……;

例1.1:

-- 创建考试成绩表
DROP TABLE IF EXISTS exam_result;
CREATE TABLE exam_result (
	id INT,
	name VARCHAR(20),
	chinese DECIMAL(3,1),
	math DECIMAL(3,1),
	english DECIMAL(3,1)
);

-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
	(1,'唐三藏', 67, 98, 56),
	(2,'孙悟空', 87.5, 78, 77),
	(3,'猪悟能', 88, 98.5, 90),
	(4,'曹孟德', 82, 84, 67),
	(5,'刘玄德', 55.5, 85, 45),
	(6,'孙权', 70, 73, 78.5),
	(7,'宋公明', 75, 65, 30);

 1.3指定插入

 insert into 表名(列……)values(列,列……),(列,列……)……;

思考:

比如,现在我想要插入10行数据,我有两种操作。

(1)写一条SQL语句,一次性插入10条。

 (2)写十条SQL语句,插10次。

结论:第一种方式的执行效率要比 第二种方式的执行效率高。


 2.查询

2.1全列查询

select * from 表名

注意:通常情况下不建议使用 * 进行全列查询

以例题1.1为例。


查询的列越多,意味着需要传输的数据量越大;

一旦数据过大,此时这个操作就会产生大量的硬盘IO和网络IO,就可能会把硬盘或网卡的宽带给吃满(吃满可以理解成堵车)。

一旦宽带吃满,此时服务器就无法正常响应,其他客户的请求。

思考:

那我可以强制停止吗?

强制停止本质上也是通过客户端给服务器发出一个“停止”请求,但应此时宽带吃满了,“停止”请求也被堵在半路上。 

2.2指定列查询 

只查询你指定列查询 

select 列名…… from 表名

指定列的顺序不需要按定义表的顺序来 

但是,这种查询也不是万无一失的。

虽然你查询的列数可能很少,但你查询的列的行数很多,此时也可能 宽带吃满。

 2.3查询字段为表达式

select 表达式 from 表名

细节:

以例题1.1为例。

 2.4别名

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

 select 表达式 (as) 别名 from 表名 

 例如:

-- 结果集中,表头的列名 = 别名
SELECT id, name, chinese + math + english 总分 FROM exam_result;

 2.5 去重

使用 DISTINCT 关键字对某列数据进行去重:
select distinct 列名,……from 表名

例如:

 以例题1.1为例。

 2.6排序

select 列名,……from 表名 order by 列名,……;

注意:

1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序 。

2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面。
3.无特殊说明默认为 升序。
降序:~~order by 列名 desc;
此时的desc=>descand 降序的意思。
4.字符比大小是按“字典序”排序的。
5. 可以对多个字段进行排序,排序优先级随书写顺序。
意思为,order by指定多个列时是带优先级的,前面的列优先级高,后面的列优先级低。
优先级高的列的值相同,才会比较优先级低的列。

对于注意3,5的举例:

 以例题1.1为例。

  2.7条件查询

select 列名,……from 表名 where 条件;

比较运算符:

对NULL 的理解:

在SQL中,NULL是一种特有的数据类型,其等价于没有任何值、是未知数。NULL与0、空字符串、空格都不同。SQL默认情况下对WHERE XX!=NULL和WHERE XX=NULL的判断会永远返回0行,却不会提示语法错误。

逻辑运算符:

注意事项:

  1. WHERE条件可以使用表达式,但不能使用别名。

  2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行

 利用举例补充注意事项

以下均与例题1.1为例。

(1)一般使用:查询英语不及格的同学及英语成绩 ( < 60 )

 (2)查询语文成绩好于英语成绩的同学

进行比较的时候,不仅仅是一个列和常量的比较,也可以是两个列或多个列的比较。

(3)查询总分在 200 分以下的同学

 WHERE条件可以使用表达式,但不能使用别名

正确:

 (4)AND与OR

1.一般使用:

-- 查询语文成绩大于80分,且英语成绩大于80分的同学
SELECT * FROM exam_result WHERE chinese > 80 and english > 80;

-- 查询语文成绩大于80分,或英语成绩大于80分的同学
SELECT * FROM exam_result WHERE chinese > 80 or english > 80;

2.一个where中,有and有or,会先执行and再执行or,需要使用小括号()包裹优先执行

-- 观察AND 和 OR 的优先级:
SELECT * FROM exam_result WHERE chinese > 80 or math>70 and english > 70;
SELECT * FROM exam_result WHERE (chinese > 80 or math>70) and english > 70;

(5) BETWEEN … AND …

-- 查询语文成绩在 [80, 90] 分的同学及语文成绩
SELECT name, chinese FROM exam_result WHERE chinese BETWEEN 80 AND 90;

-- 使用 AND 也可以实现
SELECT name, chinese FROM exam_result WHERE chinese >= 80 AND chinese<= 90;

(6)IN

-- 查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩
SELECT name, math FROM exam_result WHERE math IN (58, 59, 98, 99);

-- 使用 OR 也可以实现
SELECT name, math FROM exam_result WHERE math = 58 OR math = 59 OR math= 98 OR math = 99;

 (7)模糊查询:LIKE

1.

-- % 匹配任意多个(包括 0 个)字符
SELECT name FROM exam_result WHERE name LIKE '孙%';-- 匹配到孙悟空、孙权

补:

SELECT name FROM exam_result WHERE name LIKE '%孙'--匹配到以孙结尾的;

SELECT name FROM exam_result WHERE name LIKE '%孙%'--匹配到有孙的;

-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE '孙_';-- 匹配到孙权

 SELECT name FROM exam_result WHERE name LIKE '孙_ _';-- 匹配到孙悟空

2.IS [NOT] NULL

-- 查询 qq_mail 已知的同学姓名
SELECT name, qq_mail FROM student WHERE qq_mail IS NOT NULL;

-- 查询 qq_mail 未知的同学姓名
SELECT name, qq_mail FROM student WHERE qq_mail IS NULL;

此处再把‘=’与‘<=>’区分

 (8)分页查询:LIMIT

select 列名,……from 表名 limit 数字 offset 数字;

limit 数字:最多筛选几条。

offset 数字:从哪条开始筛选。

-- 第 1 页
SELECT id, name, math, english, chinese FROM exam_result ORDER BY id LIMIT 3
OFFSET 0;

-- 第 2 页
SELECT id, name, math, english, chinese FROM exam_result ORDER BY id LIMIT 3
OFFSET 3;

-- 第 3 页,如果结果不足 3 个,不会有影响
SELECT id, name, math, english, chinese FROM exam_result ORDER BY id LIMIT 3
OFFSET 6;


3.修改(Update)

-- 将孙悟空同学的数学成绩变更为 80 分
UPDATE exam_result SET math = 80 WHERE name = '孙悟空';

-- 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '曹孟德';

-- 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
UPDATE exam_result SET math = math + 30 ORDER BY chinese + math + english LIMIT
3;

-- 将所有同学的语文成绩更新为原来的 2 倍
UPDATE exam_result SET chinese = chinese * 2;

以上指令全部执行。 

注意:

1.存在数据上限的问题,超过上限则会报错。

 2.


 4.删除(Delete)

-- 删除孙悟空同学的考试成绩

DELETE FROM exam_result WHERE name = '孙悟空'; 

注意:

(1)

(2) 


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

MySQL表的增删改查(基础篇详细详解) 本文主要讲解关于数据表的增删改查基础篇,希望大家熟练掌握以下命令,后续我会发文进阶篇,可以关注我等待下次发文. 阅读详情

相关推荐

告别U盘!在Ubuntu 22.04上从零搭建PXE网络装机服务器(支持UEFI/Legacy双启动)

本文详细介绍了在Ubuntu 22.04上搭建PXE网络装机服务器的完整流程,支持UEFI/Legacy双启动模式。通过配置DHCP、TFTP和HTTP服务,实现无需U盘的高效批量系统部署,解决传统安装方式的介质依赖、版本控制和时间成本问题,显著提升机房维护和设备部署效率。

weixin_42569329的博客 249

【MySQL】MySQL表的增删改查(基础)

新增:-- 单行插入insert into 表(字段1, ..., 字段N) values (value1, ..., value N);-- 多行插入insert into 表(字段1, ..., 字段N) values查询-- 全列查询select * from 表-- 指定列查询select 字段1,字段2... from 表-- 查询表达式字段select 字段1+100,字段2+字段3 from 表-- 别名select 字段1 别名1, 字段2 别名2 from 表。

2402_85428625的博客 2439

保姆级教程:手把手调试PX4Ctrl的油门映射与姿态控制(附ROS节点配置)

本文提供PX4Ctrl的深度调参指南,涵盖油门映射、姿态控制及ROS节点配置等关键环节。通过详细解析PX4控制器的核心逻辑、递归最小二乘法(RLS)参数估计及状态机设计,帮助开发者优化无人机飞控性能。附实战案例与安全调试建议,适合PX4开发者进阶学习。

weixin_30363981的博客 382

MySQL表的增删改查基础版

全网最全的mysql操作🌷

Hi_Lyn的博客 919

(1)大蚂蚁即时通讯

即时通讯软件BigAnt(大蚂蚁)是杭州艾朴软件推出的一个”企业级”的即时通讯平台。该平台专为企业,其他企事业单位和政府单位而设计,目的就是为了增强内部沟通能力,提高内部员工的工作效率;同时服务器就直接置于单位内部,所有信息由单位自己管理,让单位以更安全、更可伸缩和更易于管理的方式灵活方便地使用协同和通信服务的功能! BigAnt(大蚂蚁)即时通讯软件包括服务器端和客户端。客户端功能包括单位

少安的砖厂 2234

爬取百度图片

最开始,我们想要爬取图片,首先需要打开百度图库,然后在搜索栏中输入自己想要的图片(比如说壁纸)。接着右键检查,点击网络:起初可能没有名称信息,刷新界面就可以了。打开信息,查看标头内容可以看到请求URL为:复制这串URL,然后在浏览器中打开这个就是我们搜索的壁纸图片的网页内容。怎么找到图片的URL呢?在上述内容中,找到data,可以发现里面每隔一个aiEditData,下面代码的形式是一样的,就相当于一张图片。

weixin_54143563的博客 1942

MySQL基础知识单表的增删改查(超详细)

数据库只是一个管理数据的工具软件,数据存放在了磁盘里。

2203_75373446的博客 768

华为OD机试 - 项目规划 - 深度优先搜索dfs(Java 2024 C卷 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 1153

MySQL表的增删改查(基础)

📜个人简介 ⭐️个人主页:摸鱼の文酱博客主页🙋‍♂️ 🍑博客领域:java编程基础,mysql 🍅写作风格:干货,干货,还是tmd的干货 🌸精选专栏:【Java】【mysql】 【算法刷题笔记】 🎯博主的码云gitee,平常博主写的程序代码都在里面。 🚀支持博主:点赞👍、收藏⭐、留言💬 🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

qq_53947552的博客 4287

手把手教你学Simulink--基于储能系统的建模与仿真场景:-锂电池储能系统充放电管理策略仿真

《锂电池储能系统充放电管理的Simulink建模与仿真》摘要 本文详细介绍了使用Simulink+SimscapeElectrical对锂电池储能系统进行充放电管理策略建模的全过程。从系统结构设计入手,重点阐述了锂电池模型、充放电控制器、热管理系统等核心模块的搭建方法,并提供了完整的仿真流程。文章详细说明了如何实现荷电状态管理、温度控制和功率限制等关键策略,通过仿真分析了电池电压、电流、SoC和温度等关键指标的变化规律。最后提出了基于仿真结果的优化建议,包括参数整定、算法改进等方面,为锂电池储能系统的安全高

MHD0815的博客 1万+

基于YOLOv11的水果/商品/食堂/蔬菜/饮料/书籍识别与计价系统,前台+后台管理系统

基于YOLOv11的水果/商品/食堂/蔬菜/饮料/书籍识别与计价系统,前台+后台管理系统

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1220

MySQL基础语法【库、表的增删改查】

1.链接与断开 链接:mysql -h127.0.0.1 -P3306 -uroot -proot -h 主机地址 -P 端口号 -u 用户名 -p 用户密码 断开: 1.exit; 2.quit; 3.\q; 2.数据库 2.1、 显示:show databases; 1、information_schema 保存着关于MySQL服务器所维护的所有其他数据库的信息。 如数据库名,数据库的表,表栏的数据类型与访问权限等。一般不会修.

Cao_Mary的博客 878

040、全志V853低功耗AI视觉平台的ISP调优——电池供电场景下的画质与功耗平衡

本文分享了全志V853 AI视觉平台在电池供电场景下的ISP调优经验。作者通过实际项目踩坑案例,揭示了V853 ISP的特殊性:不同于主流平台,其ISP与CPU共享时钟域,降噪能力有限,需特别注意功耗控制。关键优化策略包括:关闭无效ISP模块、优化Sensor联动时钟、采用场景自适应配置、开发快速启动模式等。特别指出V853个体差异大,量产需考虑高低温影响。文章强调V853的ISP功耗优化需从寄存器级别精打细算,不能简单套用其他平台经验,建议选型时单独评估ISP功耗,避免续航缩水。

zzfmlxs的博客 26

MySQL表的增删改查(基础)

新增-- 单行插入insert into 表(字段1, ..., 字段N) values (value1, ..., value N);-- 多行插入insert into 表(字段1, ..., 字段N) values-- 插入并更新insert into students (id, sn, name) values (100, 10010, '唐大师')ON DUPLICATE KEY UPDATE sn = 10010, name = '唐大师';-- 冲突则替换。

weixin_70067429的博客 923

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【MySQL】表的基础增删改查

前面我们已经知道怎么来创建表了,接下来就来对创建的表进行一些基本操作。接下来就针对该表进行增删改查的操作~♫新增♪单行数据插入新增操作是指对表增添数据:语法:insert into 表名 values(类型1的数据,类型2的数据,类型3的数据...);注:①.into也可以省略不写②.插入的数据必须和定义表的列数及顺序一致♪查看默认编码。

qq_61872165的博客 1421

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MySQL基础——对数据库和表进行增删改查

MySQL——概念介绍和CRUD操作 文章目录MySQL——概念介绍和CRUD操作1、SQL概念1.什么是SQL?2.SQL通用语法3.SQL分类2、DDL操作数据库、表1、对数据库进行CRUD1.C(Create)创建2.R(Retrieve):查询3.U(Update):修改4. D(Delete):删除5.使用数据库2、对表进行CRUD1. C(Create):创建表2. R(Retrieve):查询3.U(Update):修改(最常用)4.D(Delete):删除3、 DML增删改表中数据1、向

江哈哈的博客 498

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【MySQL】MySQL表操作基础(一):增删改查(CRUD)

具体介绍了数据库的基本操作:增删改查(CRUD),补充说明了数据的备份和配置文件的相关知识点

我的博客 1399

MySQL表的增删改查基础操作

在前面给大家介绍了数据库数据表以及基本操作的博客,有遗忘或者感兴趣的同学可以去看看,今天给大家介绍 MySQL表的增删查改操作.~~~ 文章目录✨1.全列查找✨指定列查找✨指定查询字段为表达式✨查询字段指定别名✨针对查询结果去重✨排序,针对查询结果(临时表)进行排序✨select中的条件查询 ✨1.全列查找 最基础的查找,全列查找,直接把一个表所有的列,和所有的行都查询出来~ 语法:select * from 表名* 叫做"通配符",表示一个表的所有列. 把一个表里面的所有行和所有列都查找出.

Biteht的博客 1348

【MySQL】MySQL表的增删改查(基础版)

MySQL的增删改查基本操作,原来MySQL的查找有这么多的形式!!

恒等于C的博客欢迎您 1671

MySQL之基础,创建库,建表,表的增删改查

数据库有很多,以MySQL5.7版本为例,MySQL的安装和配置详情链接:https://pan.baidu.com/s/1DhbxxuPmsk-cPr-egH4d9g  提取码:7hd6  MySQL为关系型数据库,关系库特点: 1.永久保存数据。2.供数据安全。3.提供数据并发访问。4.提供多种数据类型。5.提供事物支持。6.提供SQL语言操作数据。 数据库里面存放数据,是以库(dat...

wanglulu12138的博客 277
上一篇: MySQL数据库基础
下一篇: MySQL数据库约束
WH牛
博客等级 码龄4年 613粉丝 107原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值