我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在MySQL中对表进行增删改查操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在MySQL中对表进行增删改查操作

这篇文章给大家介绍怎么在MySQL中对表进行增删改查操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1. 新增(Create)

insert into [表名] (字段1, 字段2,....) value (value1, value2, ...);insert into [表名] (字段1, 字段2, ....) values(value1, ...),(value2, ...),(value3, ...);

实例:

创建一个学生成绩表

CREATE TABLE exam_result ( id INT, name VARCHAR(20), chinese DECIMAL(3,1), math DECIMAL(3,1), english DECIMAL(3,1));

1.1 单行数据 + 全列插入

-- 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致insert into exam_result value ( 1, 'tom', 68, 98, 56); insert into exam_result value ( 2, 'jum', 87.5, 78, 77);

每次插入数据, 为一条记录, 包含了若干个列~~

列的数目和数据类型要和表的结构对应~

value 前省略指定列默认为全列插入

1.2 多行数据 + 指定列

- 插入两条记录,value_list 数量必须和指定列数量及顺序一致INSERT INTO exam_result (id,name, chinese, math, english) VALUES (1,'tom', 67, 98, 56), (2,'jum', 87.5, 78, 77), (3,'lim', 88, 98.5, 90), (4,'tim', 82, 84, 67), (5,'huy', 55.5, 85, 45), (6,'sun', 70, 73, 78.5), (7,'ming', 75, 65, 30);

2. 查询(Retrieve)

2.1 全列查询

select * from [表名];

怎么在MySQL中对表进行增删改查操作

*表示通配符, 意思就是查找所有的列

2.2 指定列查询

select [指定查询列] from [表名];

怎么在MySQL中对表进行增删改查操作

2.3 查询字段为表达式

select [字段表达式] from [表名];

怎么在MySQL中对表进行增删改查操作

2.4 别名

select colum [as] [列名] from [表名];

怎么在MySQL中对表进行增删改查操作

2.5 去重: DISTINCT

使用 distinct 关键字对某列数据去重

--98 分重复了select math from exam_result;+------+| math |+------+| 98.0 || 78.0 || 98.0 || 84.0 || 85.0 || 73.0 || 65.0 |+------+-- 去重结果select distinct math from exam_result;+------+| math |+------+| 98.0 || 78.0 || 84.0 || 85.0 || 73.0 || 65.0 |+------+

2.6 排序: ORDER BY

select * from [表名] order by [排序字段];

用 order by 指定某一列进行排序, 默认按照升序排序.

显式加上 desc , 就是降序排序. 使用 asc 也是升序

select name, math from exam_result order by math desc;+------+------+| name | math |+------+------+| tom | 98.0 || lim | 98.0 || huy | 85.0 || tim | 84.0 || jum | 78.0 || sun | 73.0 || ming | 65.0 |+------+------+

NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面

排序也可以指定多个列执行

select * from exam_result order by math desc, chinese desc;+------+------+---------+------+---------+| id | name | chinese | math | english |+------+------+---------+------+---------+| 3 | lim | 88.0 | 98.0 | 90.0 || 1 | tom | 67.0 | 98.0 | 56.0 || 5 | huy | 55.5 | 85.0 | 45.0 || 4 | tim | 82.0 | 84.0 | 67.0 || 2 | jum | 87.5 | 78.0 | 77.0 || 6 | sun | 70.0 | 73.0 | 78.5 || 7 | ming | 75.0 | 65.0 | 30.0 |+------+------+---------+------+---------+

多列排序时, 是在第一列区分不出来大小的时候, 再按第二列排序.

2.7 条件查询: WHERE

比较运算符

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <>不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, …)如果是 option 中的任意一个,返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

逻辑运算符:

运算符说明
AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT条件为 TRUE(1),结果为 FALSE(0)

注意:

  • 列的别名不能再 where 中使用~~

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

实例:

基本查询:

-- 查询英语不及格的同学及英语成绩 ( < 60 )select name, english from exam_result where english < 60;-- 查询语文成绩好于英语成绩的同学select name, chinese, english from exam_result where chinese > english;-- 查询总分在 200 分以下的同学select name, chinese + math + english as total from exam_result where chinese + math + english < 200;

AND 与 OR:

-- 查询语文成绩大于80分,且英语成绩大于80分的同学select * from exam_result where chinese > 80 and english > 80;-- 查询语文成绩大于80分,或英语成绩大于80分的同学select * from exam_result where chinese > 80 or english > 80;

关于优先级问题, and 比 or 更优先,

范围查询:

BETWEEN … AND …

-- 查询语文成绩在 [80, 90] 分的同学及语文成绩select name, chinese from exam_result where chinese BETWEEN 80 AND 90;select name, chinese, from exam_result where chinese >= 80 and chinese <= 90;

IN

 -- 查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩select name, math from exam_result where math in (58, 59, 98, 99);

模糊查询: LIKE

select name from exam_result where name like 't%';+------+| name |+------+| tom || tim |+------+

% 是一个通配符, 可以用来代替任意多个字符

t% 找出以 t 开头的字符串

%t 找出以 t 结尾的字符串

%t% 找出包含 t 的

除了 % 之外, 还有 _ ,(_ 只能代表一个字符~)

select name from exam_result where name like 't__';+------+| name |+------+| tom || tim |+------+

通配符也能针对数字进行模糊查询

select name, chinese from exam_result where chinese like '%8%';+------+---------+| name | chinese |+------+---------+| jum |  87.5 || lim |  88.0 || tim |  82.0 |+------+---------+

注意:

模糊查询看起来比较好用, 实际执行效率低下

NULL 的查询: IS [NOT] NULL

 select name from exam_result where id id not null;

8 分页查询: LIMIT

-- 最初数据表select * from exam_result;+------+------+---------+------+---------+| id  | name | chinese | math | english |+------+------+---------+------+---------+|  1 | tom |  67.0 | 98.0 |  56.0 ||  2 | jum |  87.5 | 78.0 |  77.0 ||  3 | lim |  88.0 | 98.0 |  90.0 ||  4 | tim |  82.0 | 84.0 |  67.0 ||  5 | huy |  55.5 | 85.0 |  45.0 ||  6 | sun |  70.0 | 73.0 |  78.5 ||  7 | ming |  75.0 | 65.0 |  30.0 |+------+------+---------+------+---------+-- 前三条记录select * from exam_result limit 3;+------+------+---------+------+---------+| id  | name | chinese | math | english |+------+------+---------+------+---------+|  1 | tom |  67.0 | 98.0 |  56.0 ||  2 | jum |  87.5 | 78.0 |  77.0 ||  3 | lim |  88.0 | 98.0 |  90.0 |+------+------+---------+------+---------+-- 从第三条开始的三条记录select * from exam_result limit 3 offset 3;+------+------+---------+------+---------+| id  | name | chinese | math | english |+------+------+---------+------+---------+|  4 | tim |  82.0 | 84.0 |  67.0 ||  5 | huy |  55.5 | 85.0 |  45.0 ||  6 | sun |  70.0 | 73.0 |  78.5 |+------+------+---------+------+---------+

offset 表示从第几条开始查找, offset 可以省略

select * from exam_result limit 3 , 4;+------+------+---------+------+---------+| id  | name | chinese | math | english |+------+------+---------+------+---------+|  4 | tim |  82.0 | 84.0 |  67.0 ||  5 | huy |  55.5 | 85.0 |  45.0 ||  6 | sun |  70.0 | 73.0 |  78.5 ||  7 | ming |  75.0 | 65.0 |  30.0 |+------+------+---------+------+---------+

3. 修改(Update)

– 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

update exam_result set math = math + 30 order by chinese + math + english limit 3;

update 不加条件, 就可以针对所有

4. 删除(Delete)

delete from [表名];
-- 删除 ming 同学的考试成绩delete from exam_result where name = 'ming';-- 删除整张表delete from exam_result;

如果不指定条件, 此时就把整个表删除掉了, (与 drop 删除表还有不同)

delete 删除后表为 null, drop 删除后表就不存在了

5. 常用 新增

-- 单行插入insert into [表名] (字段1, ..., 字段N) values (value1, ...,value N);-- 多行插入insert into [表名](字段1, ..., 字段N) values(value1, ...),(value2, ...),(value3, ...);

查询

--全表查询select * from [表名];--指定列查询select [列名1, 列名2,...] from [表名];--查询表达式字段select [表达式1, 表达式2,...] from [表名];--别名select --去重 DISTINCTselect distinct [字段] from [表名];-- 排序ORDER BYselect * from [表名] order by [排序字段];-- 条件查询WHERE-- (1)比较运算符 (2)BETWEEN ... AND ... (3)IN (4)IS NULL (5)LIKE (6)AND (7)OR (8)NOTselect * from [表名] where [条件];

修改

update [表] set [修改内容1, 修改内容2, ....] where [条件];

删除

delete from [表名] where [条件];

关于怎么在MySQL中对表进行增删改查操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在MySQL中对表进行增删改查操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在MySQL中对表进行增删改查操作

这篇文章给大家介绍怎么在MySQL中对表进行增删改查操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 新增(Create)insert into [表名] (字段1, 字段2,....) value (value
2023-06-14

thinkphp怎么操作mysql进行增删改查

这篇文章主要介绍“thinkphp怎么操作mysql进行增删改查”,在日常操作中,相信很多人在thinkphp怎么操作mysql进行增删改查问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp怎么操
2023-07-05

使用Java怎么对链表进行增删查改操作

本篇文章为大家展示了使用Java怎么对链表进行增删查改操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、链表的概念和结构1.1 链表的概念简单来说链表是物理上不一定连续,但是逻辑上一定连续的一种
2023-06-15

在ThinkPHP框架中怎么进行增删改查操作

这篇文章主要讲解了“在ThinkPHP框架中怎么进行增删改查操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在ThinkPHP框架中怎么进行增删改查操作”吧!一、增加记录在ThinkPHP
2023-07-06

利用Java怎么对redis进行增删查改操作

利用Java怎么对redis进行增删查改操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先,需要在windows下配置一个redis环境,然后需要导入:je
2023-05-31

使用python怎么对MongoDB进行增删改查操作

这篇文章将为大家详细讲解有关使用python怎么对MongoDB进行增删改查操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、说明MongoDB使用查看数据的功能时非常方便。能立即看到增
2023-06-14

在Android开发中怎么对SQLite数据库进行增删改查操作

在Android开发中怎么对SQLite数据库进行增删改查操作?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一.创建一个自定义数据库 二.创建一个自定义适
2023-05-31

利用mybatis怎么对数据库进行增删改查操作

这篇文章将为大家详细讲解有关利用mybatis怎么对数据库进行增删改查操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。所需要用到的其他工具或技术:项目管理工具 : Maven测试运行工具
2023-05-31

利用hibernate怎么对数据库进行增删改查操作

本篇文章给大家分享的是有关利用hibernate怎么对数据库进行增删改查操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Hibernate对数据删除操作删除User表中个一条
2023-05-31

在ThinkPHP框架下怎么进行增删改操作

本篇内容主要讲解“在ThinkPHP框架下怎么进行增删改操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在ThinkPHP框架下怎么进行增删改操作”吧!一、增加记录在ThinkPHP中新增一条
2023-07-05

使用python怎么对元组进行增删改操作

本篇文章给大家分享的是有关使用python怎么对元组进行增删改操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenSta
2023-06-14

java怎么对数据库进行增删改查

在Java中进行数据库的增删改查操作,通常需要使用JDBC(Java Database Connectivity)来实现。以下是一个简单示例,展示了如何使用Java进行数据库的基本增删改查操作:首先,您需要导入Java SQL相关的包:``
2023-08-08

MyBatis后端对数据库进行增删改查等操作实例

Mybatis是appach下开源的一款持久层框架,通过xml与java文件的紧密配合,避免了JDBC所带来的一系列问题,下面这篇文章主要给大家介绍了关于MyBatis后端对数据库进行增删改查等操作的相关资料,需要的朋友可以参考下
2022-11-13

详解使用pymysql在python中对mysql的增删改查操作(综合)

这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结:先查阅数据库:现在编写源码进行增删改查操作,源码为:#!/usr/bin/python #coding:gbk import pymysql
2022-06-04

编程热搜

目录