MySQL-表数据操作

news2024/11/14 12:15:02

目录

一、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.coloradmin.cn/o/2238882.html

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

相关文章

【多线程奇妙屋】你听说过设计模式吗?软件开发中可全局访问一个对象的设计模式——单例模式,工作常用, 建议收藏 ! ! !

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

android studio 配置过程

Android studio版本&#xff1a;Android Studio Ladybug | 2024.2.1 windows 10 x64 关键问题解决方法&#xff1a; 1.设置代理&#xff1a; 退出首次配置&#xff0c;进入ide&#xff08;必要时新建工程&#xff09;然后&#xff1a; 然后重启ide 等待下载完成。 代理地…

java ssm 个人学习管理系统 学习安排 学生在线学习管理 源码 jsp

一、项目简介 本项目是一套基于SSM的个人学习管理系统&#xff0c;主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本、软件工具等。 项目都经过严格调试&#xff0c;确保可以运行&#xff01; 二、技术实现 ​后端技术&#x…

【harbor】离线安装2.9.0-arm64架构服务制作和升级部署

harbor官网地址&#xff1a;Harbor 参考文档可以看这里&#xff1a;部署 harbor 2.10.1 arm64 - 简书。 前提环境准备&#xff1a; 安装docker 和 docker-compose 先拉arm64架构的harbor相关镜像 docker pull --platformlinux/arm64 ghcr.io/octohelm/harbor/harbor-regist…

ssm+vue708基于BS的库存管理软件设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

速通LoRA:《LoRA: Low-Rank Adaptation of Large Language Models》全文解读

文章目录 总览AbstractIntroductionProblem StatementAren’t Existing Solutions Good Enough?Our MethodLow-Rank-Parametrized Update MatricesApplying LoRA to Transformer 何为高斯随机初始化Empirical ExperimentsBaselinesRoBERTa base/largeDeBERTa XXLGPT-2 medium/…

智慧园区解决方案:科技赋能,打造未来管理新典范

智慧园区作为城市发展的重要组成部分&#xff0c;正以前所未有的速度蓬勃发展。随着5G、云计算、大数据、物联网&#xff08;IoT&#xff09;、BIM&#xff08;建筑信息模型&#xff09;、人工智能&#xff08;AI&#xff09;及区块链等前沿技术的日益成熟与融合应用&#xff0…

如何优化Elasticsearch的查询性能?

优化Elasticsearch查询性能可以从以下几个方面进行&#xff1a; 合理设计索引和分片&#xff1a; 确保设置合理的分片和副本数&#xff0c;考虑数据量、节点数和集群大小。根据数据量和节点数量调整分片数量&#xff0c;避免使用过多分片&#xff0c;因为每个分片都需要额外的…

前端 JS面向对象 原型 prototype

目录 一、问题引出 二、prototype原型对象 三、小结 四、constructor 五、__proto__对象原型 六、原型链 一、问题引出 由于JS的构造函数存在内存浪费问题&#xff1a; function Star(name,age){this.namenamethis.ageagethis.singfunction () {console.log("唱歌&…

【MATLAB代码】二维平面上的TDOA,使用加权最小二乘法,不限制锚点数量,代码可复制粘贴

本文所述的MATLAB代码实现了一个基于两步加权最小二乘法的二维目标定位算法,利用多个锚点(基站)和时间差到达(TDOA)数据来估计未知目标的位置。 订阅专栏后可以看到完整代码,复制到MATLAB空脚本上面即可直接运行。若需要单独下载,可通过下面的链接:https://download.cs…

推荐一款完全开源的多端仓库管理系统

简介 模块 安装 UI展示 开源地址 今天给大家介绍一款完全开源的仓库管理系统&#xff0c;本系统采用Python语言开发。 简介 该库存管理系统是目前福特亚太区售后物流仓储供应链流程。离开福特后&#xff0c;开始了这个项目。为了帮助一些有需要的人。OneAPP 理念。支持扫…

第七部分:2. STM32之ADC实验--AD多通道(AD采集三路传感器模块实验:光敏传感器、热敏传感器、反射式传感器附赠温湿度传感器教程)

这个多通道采用非扫描模式--单次转换模式 1.代码配置链路图 2. ADC的输入通道 3.ADC的非扫描模式的转换模式&#xff08;单次和连续&#xff09; 4.ADC的扫描模式的转换模式&#xff08;单次和连续&#xff09; 5.采集校准 代码实验&#xff1a; 代码部分&#xff1a; #inclu…

手持测温热像仪市场规模:预计2030年全球市场规模将达到24.9亿美元

手持测温热像仪是一种能够实时监测和记录物体表面温度分布的高科技仪器。其核心功能在于&#xff0c;利用物体自身辐射出的热红外线来生成可视化的温度分布图像&#xff0c;进而为各种应用提供精准的温度数据。这一技术的普及和应用&#xff0c;无疑极大地提升了我们对于物体温…

web——[SUCTF 2019]EasySQL1——堆叠注入

这个题主要是讲述了堆叠注入的用法&#xff0c;来复现一下 什么是堆叠注入 堆叠注入&#xff1a;将多条SQL语句放在一起&#xff0c;并用分号;隔开。 1.查看数据库的名称 查看数据库名称 1;show databases; 发现有名称为ctftraining的数据库 2.对表进行查询 1;show tabl…

数据结构选择题及答案

一、选择题 1、下列查找方法中&#xff0c;&#xff08; &#xff09;适用于查找有序单链表。 A&#xff0e;分块查找; B&#xff0e;哈希查找; C&#xff0e;顺序查找; D&#xff0e;二分查找; 2、在有n个结点的二叉树的二叉链表表示中&#xff0c;空指针数为( )。 A&#xf…

GraphQL在现代Web开发中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 GraphQL在现代Web开发中的应用 GraphQL在现代Web开发中的应用 GraphQL在现代Web开发中的应用 引言 GraphQL 概述 定义与原理 发展…

智能社区服务小程序+ssm

智能社区服务小程序 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了智能社区服务小程序的开发全过程。通过分析智能社区服务小程序管理的不足&#xff0c;创建了一个计算机管理智能社区服务小程序的方案。文…

前端上传大文件,后端报错Content-Type ‘application/octet-stream‘ is not supported【解决】

报错内容org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type application/octet-stream is not supported 组件库&#xff1a;naiveui中upload进行上传功能使用的主要组件 使用原生XMLHttpRequest进行接口请求 authorization请求头需要手动写入 不…

【免越狱】iOS砸壳 可下载AppStore任意版本 旧版本IPA下载

软件介绍 下载iOS旧版应用&#xff0c;简化繁琐的抓包流程。 一键生成去更新IPA&#xff08;手机安装后&#xff0c;去除App Store的更新检测&#xff09;。 软件界面 支持系统 Windows 10/Windows 8/Windows 7&#xff08;由于使用了Fiddler库&#xff0c;因此需要.Net环境…

第三十七章 Vue之编程式导航及跳转传参

目录 一、编程式导航跳转方式 1.1. path 路径跳转 1.1.1. 使用方式 1.1.2. 完整代码 1.1.2.1. main.js 1.1.2.2. App.vue 1.1.2.3. index.js 1.1.2.4. Home.vue 1.1.2.5. Search.vue 1.2. name 命名路由跳转 1.2.1. 使用方式 1.2.2. 完整代码 1.2.2.1. main.js 1…