MySQL-表数据操作

目录

一、INSERT-增加表中数据

二、DELETE-删除表中数据

三、UPDATE-修改表中数据

四、SELECT-查询表中数据

1、select基础查询

1.1 结果去重查询-DISTINCT

1.2 使用别名查询-AS

1.3 计算列

2、选择查询

2.1 比较搜索条件

2.2 范围搜索条件-BETWEEN AND

2.3 列表搜索条件-IN

2.4 字符匹配条件-LIKE

3、空值查询-IS NULL

4、聚合函数

5、分页查询-LIMIT

6、分组和排序

6.1 数据分组-GROUP BY

6.2 数据排序-ORDER BY


一、INSERT-增加表中数据

INSERT INTO table_name(column_name,column_name,...,column_name)VALUES (value1,value2,...,valuen);

示例:

INSERT INTO stu(name,age,sex) VALUES('lisi',22,'男'),('王柳',23,'女');

二、DELETE-删除表中数据

DELETE from table_name;#清空表的数据DELETE from table_name where 条件;#删除满足某种条件的数据TRUNCATE TABLE table_name;#清空表数据

        区别:delete from 可以加过滤条件where,truncate table只能删除整张表

                truncate table删除数据的速度非常快,delete from删除数据速度比较慢

                truncate table删除的表数据不能恢复,delete from删除的数据可以恢复

示例:

DELETE FROM stu; #清空表stu全部数据DELETE FROM stu WHERE name=’李四’;#删除stu表中姓名为“李四”的行TRUNCATE TABLE stu;

三、UPDATE-修改表中数据

UPDATE table_name SET 字段=值;#修改某一列全部数据UPDATE table_name SET 字段=值,字段=值;UPDATE table_name SET 字段=值,字段=值 WHERE 条件;

-- 表中已经出现不连贯的数据ID时,执行以下语句进行修改

SET @auto_id = 0;UPDATE stu SET id = (@auto_id := @auto_id + 1);ALTER TABLE stu AUTO_INCREMENT = 1;select * FROM stu;

示例:

·UPDATE stu SET name='lisa' WHEREid=6;

四、SELECT-查询表中数据

所谓查询,就是对已经存在于数据库中的数据按特定的组合、条件或次序进行检索。查询功能是数据库最基本也是最重要的功能。

1、select基础查询

• SELECT语句的语法如下:

SELECT [*]或[字段名列表] FROM 表名[ WHERE search_conditions ][ GROUP BY group_by_list ][ HAVING search_conditions ][LIMIT start,nums ][ ORDER BY order_list [ ASC | DESC ] ]
1.1 结果去重查询-DISTINCT

• 如果用户希望在查询返回结果中删除重复行,在SELECT子句中使用DISTINCT关键字。

• 语法:SELECT DISTINCT 列名称 FROM 表名称;

• 例:

SELECT DISTINCT 籍贯 FROM 学生信息;
1.2 使用别名查询-AS

• 使用select语句查询数据时,可使用别名的方法根据需要对数据显示的标题进行修改。

1. 在列的表达式中给出别名

SELECT 列名 ‘别名’ from 表名;

例:

SELECT id '员工编号',name'姓名',salary'工资',deptId'部门编号'FROM employee;

2、使用AS关键字来连接列表达式和指定的别名

SELECT 列名 AS  ‘别名’ FROM 表名;

例:

SELECT id as '员工编号',name as '姓名',salary as'原工资',deptId'as部门编号'FROM employee;
1.3 计算列

• 在进行数据查询时,经常需要对查询到的数据进行再次计算。

例:

SELECT id as '员工编号',name as '姓名',salary as '原工资',salary+200 as '加薪后工资',deptId'部门编号'FROM employee;

2、选择查询

一般查询都不是针对全表所有行的查询,只是从整个表中选出满足指定条件的内容,这就要用到WHERE子句。

• 以下是选择行的基本语法:

SELECT  SELECT_LIST  FROM  TABLE_LIST  WHERE SEARCH_CONDITIONS;

其中SEARCH_CONDITIONS为选择查询结果的条件。

• MySQL支持比较、范围、列表、字符串匹配等选择方法。

2.1 比较搜索条件

·比较运算符

运算符

含义

运算符

 含义

=

等于

<>

不等于

>

大于

!=

不等于

<

小于

!>

不大于

>=

大于等于

!<

不小于

<=

小于等于

例:查询籍贯是 beijing的学生信息:

SELECT * FROM 学生信息WHERE 籍贯=‘beijing’;

·逻辑运算符

AND 可以串联两个条件,需要两个条件同时成立

OR 可以串联两个条件,两个条件满足一个条件就可以

NOT 对条件取反

例:查询籍贯是beijing并且性别是nan的学生信息:

SELECT * FROM 学生信息WHERE 籍贯=‘beijing’ AND 性别=‘nan’;
2.2 范围搜索条件-BETWEEN AND

范围搜索返回介于两个指定值之间的所有值,可分为包括范围和排除范围两种类型。

BETWEEN AND,NOT BETWEEN AND

例:工资在5000到6000之间:

SELECT * FROM employee WHERE salary BETWEEN 5000 AND 6000;

例:工资不在5000到6000之间:

SELECT * FROM employee WHERE salary NOT BETWEEN 5000 AND 6000;
2.3 列表搜索条件-IN

IN关键字使用户可以选择与列表中的任意值匹配的行。

查询籍贯是 beijing和shanghai的学生:

SELECT * FROM 学生信息WHERE 籍贯 IN (‘beijing’,’shenzhen’);
2.4 字符匹配条件-LIKE

LIKE关键字搜索与指定模式匹配的字符串、日期或时间值。

模式包含要搜索的字符串,字符串中可包含2种通配符的任意组合;

SELECT * FROM 表名 WHERE 字段名 LIKE '查询内容';

通配符

含义

%

表示一个或多个字符

_

表示一个字符

例:查询工资以5开头:

SELECT * FROM employee WHERE salary like'5%';

例:查询工资以5结尾:

SELECT * FROM employee WHERE salary like'%5';

例:查询工资第二位是5:

SELECT * FROM employee WHERE salary like'_5%';

3、空值查询-IS NULL

空值(NULL)在数据库中表示不确定的值。

例如,学生选修课程后还没有考试时,这些学生有选课记录,但没有考试成绩,因此考试成绩为空值。

•判断取值为空的语句格式为:

列名 IS NULL

SELECT * FROM employee WHERE salary IS NULL;

•判断取值不为空的语句格式为:

列名 IS NOT NULL

        

4、聚合函数

(1) SUM([DISTINCT] <列名> ):计算列值总和;

(2) AVG([DISTINCT] <列名> ):计算列值平均值;

(3) MAX([DISTINCT] <列名> ):求列值最大值;

(4) MIN([DISTINCT] <列名> ):求列值最小值。

(5) COUNT( * ):统计表中元组个数(统计表里有多少条数据);

        COUNT([DISTINCT] <列名> ):统计本列列值个数;

注意:上述函数中除COUNT(*)外,其他函数在计算过程中均忽略NULL值。

 SELECT 聚合函数 FROM 表名;

5、分页查询-LIMIT

SELECT 列 ,列 …. FROM 表名 WHERE 条件 LIMIT [start,nums]

start:从第几行开始,可选,不写的话从0开始

nums:总共要查询几行

例:查询tearcher表的前5行记录

SELECT * FROM teacher LIMIT 5;

例:查询tearcher表,从第2行开始查询5行

SELECT * FROM teacher LIMIT 1,5;

6、分组和排序

6.1 数据分组-GROUP BY

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

• 语法格式:

SELECT column_name, aggregate_function(column_name)FROM table_name WHERE 条件GROUP BY column_name HAVING 条件ORDER BY column_name;

·HAVING分组条件:

having 通常与group by子句一起使用。相当于一个用于组的where子句,制定组的搜索条件。

• having子句可以包含聚合函数,但where不可以。

 SELECT 学号,SUM(成绩) FROM 成绩表 GROUP BY 学号HAVING SUM(成绩)<600;
6.2 数据排序-ORDER BY

ORDER BY 语句用于对指定的结果集进行排序。

• ORDER BY 语句默认升序

• 降序排序可以使用 DESC 关键字

·descent按照降序排序

·ascent按照升序排序

例:查询成绩表并对成绩进行排序:

select * from 成绩表 order by 成绩 [desc];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue中父组件通过v-model向子组件传对象参数

描述&#xff1a; Vue中父组件通过v-model向子组件传递一个对象&#xff0c;在子组件实现一个能够对object key-value进行编辑的组件封装。 父组件文件 <form-child v-model"configMap"></form-child>import formChild from /components/formchild.vue i…

mysql数据同步到sql server

准备工作 下载安装sql server express 2019 现在安装SSMS(连接数据库GUI) 安装ssms for mysql 需要注意的是在上面的步骤中首先需要根据指导安装mysql ODBC 设置express sa用户密码登录 --change password for login user "sa"Security > Logins > sa (rig…

如何解决企业业务流程分散的痛点

企业面临的一个普遍问题是业务流程的分散。业务流程分散不仅使得工作效率大幅下降&#xff0c;还增加了出错的风险&#xff0c;影响了企业的整体运营效率。因此&#xff0c;解决这一问题成为了许多企业亟需面对的挑战。 业务流程分散的原因 业务流程分散的根本原因&#xff0…

融入模糊规则的宽度神经网络结构

融入模糊规则的宽度神经网络结构 论文概述创新点及贡献 算法流程讲解模糊规则生成映射节点生成输出预测结果 核心代码复现main.py文件FBLS.py文件 使用方法测试结果示例&#xff1a;使用公开数据集进行本地训练准备数据数据输入模型进行训练实验结果 环境配置资源获取 本文所涉…

SQL常见语法

select * from student; select&#xff1a;选取 from&#xff1a;来源 *&#xff1a;所有栏位 select 姓名&#xff0c;班级&#xff0c;成绩 from students; 选取特定栏位 select 姓名&#xff0c;班级&#xff0c;成绩 from students limit 5;--限制显示拦数 select 姓…

贪心算法-汽车加油

这道题目描述了一个汽车旅行场景&#xff0c;需要设计一个有效的算法来决定在哪几个加油站停车加油&#xff0c;以便最小化加油次数。题目给出了汽车加满油后的行驶距离n公里&#xff0c;以及沿途若干个加油站的位置。我们需要找出一个方案&#xff0c;使得汽车能够完成整个旅程…

yarn报错`warning ..\..\package.json: No license field`:已解决

出现这个报错有两个原因 1、项目中没有配置许可证 在项目根目录package.json添加 {"name": "next-starter","version": "1.0.0",# 添加这一行"license": "MIT", }或者配置私有防止发布到外部仓库 {"priv…

【电子通识】TINA-TI中仿真波形如何配置自动分离曲线?

在实际的TIAN-TI使用中,我们仿真后,输出的波形一般都是叠加的形式输出的。比如下图所示: 有一些更多条曲线且曲线内容不同的仿真,叠加后会更让我们看不清。导致很不方便。 一般这时我们会 选择View->Separate outputs( 分开输出),就可以将不同波形分…

【数据结构】线性表——顺序表

文章目录 一、线性表二、顺序表2.1概念及结构2.2、顺序表接口实现2.2.1、顺序表的动态存储2.2.2、顺序表初始化2.2.3、检查空间判断进行增容2.2.4、顺序表尾插、尾删2.2.5、顺序表头插、头删2.2.6、顺序表查找2.2.7、顺序表在pos位置插入x2.2.8、顺序表删除pos位置的值2.2.9、顺…

【Matlab算法】MATLAB实现基于小波变换的信号去噪(附MATLAB完整代码)

MATLAB实现基于小波变换的信号去噪 结果图前言正文1. 小波变换理论基础1.1 小波变换的数学模型1.2 离散小波变换原理2. 信号去噪方法2.1 去噪算法流程2.2 阈值处理方法3. 核心函数解析3.1 wavedec函数3.2 wthresh函数代码实现4.1 信号生成4.2 小波变换去噪完整代码总结参考文献…

神经网络基础--什么是正向传播??什么是方向传播??

前言 本专栏更新神经网络的一些基础知识&#xff1b;这个是本人初学神经网络做的笔记&#xff0c;仅仅堆正向传播、方向传播进行了讲解&#xff0c;更加系统的讲解&#xff0c;本人后面会更新《李沐动手学习深度学习》&#xff0c;会更有详细讲解;案例代码基于pytorch&#xf…

函数式编程Stream流(通俗易懂!!!)

目录 1.Lambda表达式 1.1 基本用法 1.2 省略规则 2.Stream流 2.1 常规操作 2.1.1 创建流 2.1.2 中间操作 filter map distinct sorted limit ​编辑skip flatMap 2.1.3 终结操作 foreach count max&min collect anyMatch allMatch noneMatch …

AMD-OLMo:在 AMD Instinct MI250 GPU 上训练的新一代大型语言模型。

AMD-OLMo是一系列10亿参数语言模型&#xff0c;由AMD公司在AMD Instinct MI250 GPU上进行训练&#xff0c;AMD Instinct MI250 GPU是一个功能强大的图形处理器集群&#xff0c;它利用了OLMo这一公司开发的尖端语言模型。AMD 创建 OLMo 是为了突出其 Instinct GPU 在运行 “具有…

使用服务器时进行深度学习训练时,本地必须一直保持连接状态吗?

可以直接查看方法&#xff0c;不看背景 1.使用背景2. 方法2.1 screen命令介绍2.2 为什么要使用screen命令2.3 安装screen2.4 创建session2.5 查看session是否创建成功2.6 跳转进入session2.7 退出跑代码的session2.8 删除session 1.使用背景 我们在进行深度学习训练的时候&…

深入了解区块链:Web3的基础架构与发展

在数字时代的浪潮中&#xff0c;区块链技术正逐渐成为Web3的重要基础&#xff0c;重新定义互联网的结构和用户体验。Web3不仅是一个全新的网络阶段&#xff0c;更代表了一种去中心化的理念&#xff0c;强调用户主权和数据隐私。本文将深入探讨区块链在Web3中的基础架构、技术特…

华为大变革?仓颉编程语言会代替ArkTS吗?

在华为鸿蒙生态系统中&#xff0c;编程语言的选择一直是开发者关注的焦点。近期&#xff0c;华为推出了自研的通用编程语言——仓颉编程语言&#xff0c;这引发了关于仓颉是否会取代ArkTS的讨论。本文将从多个角度分析这两种语言的特点、应用场景及未来趋势&#xff0c;探讨仓颉…

【C++笔记】C++三大特性之继承

【C笔记】C三大特性之继承 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】C三大特性之继承前言一.继承的概念及定义1.1 继承的概念1.2继承的定义1.3继承基类成员访问方式的变化1.4继承类模板 二.基类和派生类间的转…

Windows搭建流媒体服务并使用ffmpeg推流播放rtsp和rtmp流

文章目录 搭建流媒体服务方式一安装mediamtx启动meidamtx关闭meidamtx 方式二安装ZLMediaKit启动ZLMediaKit关闭ZLMediaKit 安装FFmpeg进行推流使用FFmpeg进行rtmp推流使用VLC播放rtmp流停止FFmpeg的rtmp推流使用FFmpeg进行rtsp推流使用VLC播放rtmp流停止FFmpeg的rtsp推流 本文…

Polybase要求安装orcale jre 7

在安装SQL SERVER时&#xff0c;遇到以下情况&#xff1a;polybase要求安装orcale jre 7更新 51或更高版本 不想安装JDK7。可通过不安装polybase的功能来实现下一步的安装。 1. 点击上一步&#xff0c;回到功能选择的设置界面中。 2. 然后在功能选择窗口中&#xff0c;取消勾选…

深入理解计算机系统 3.7 缓冲区溢出

3.7.1 数据对齐 许多计算机系统对基本数据类型的合法地址做出了一些限制&#xff0c;要求某种类型对象的地址必须是某个值K(通常是2、4或8)的倍数。这种对齐限制简化了形成处理器和内存系统之间接口的硬件设计。例如&#xff0c;假设一个处理器总是从内存中取8个字节&#xff…