数据库操作语言(DML)

news2024/10/6 22:22:31

数据库操作语言(DML)

一、四种操作

  1. 数据查询 (Data Querying): 从数据库中检索数据。最常用的查询语言是SQL (Structured Query Language) 中的 SELECT 语句。
  2. 数据插入 (Data Insertion): 将新数据添加到数据库中,常用的SQL语句是 INSERT INTO
  3. 数据更新 (Data Updating): 修改数据库中的现有数据,常用的SQL语句是 UPDATE
  4. 数据删除 (Data Deletion): 从数据库中删除数据,常用的SQL语句是 DELETE FROM

二、数据的插入(增)

1、语法格式。

前提:创建验证学生表

CREATE TABLE student(
id INT(3) PRIMARY KEY auto_increment,
name VARCHAR(32),
sex VARCHAR(32),
age INT(3),
salary FLOAT(8,2),
course VARCHAR(32)
)

注意:每张表必须有且只有一个主键

理解:主键上的数据不能重复且不能为空,主键就是该数据行的唯一表示

​ PRIMARY KEY – 主键

​ auto_increment – 自动增长

​ 1.1 方式一:

INSERT INTO student VALUE(1,'小雷','women','23','99999','java');

​ 1.2 方式二:

INSERT INTO student VALUES(1,'小雷','women','23','99999','java'),(2,'小杨','men','22','99999','java');

​ 1.3 方式三:

INSERT INTO student(name,sex,age,salary,course) VALUE('小雷','women','23','99999','java');
INSERT INTO student(name,sex,age,salary,course) VALUE('小杨','men','22','99999','java');
INSERT INTO student(name,sex,age,salary,course) VALUE('小刘','women','21','8000','Python');
INSERT INTO student(name,sex,age,salary,course) VALUE('小李','men','24','9999','HTML');
INSERT INTO student(name,sex,age,salary,course) VALUE('小雷','women','23','99999','HTML');

效果截图:

在这里插入图片描述

三、数据的删除(删)

1、清空表数据

方式一:

TRUNCATE student;

注意:清空表数据后,再添加数据,主键会从1开始递增

方式二:

DELETE FROM student;

经验:1、考虑到删除的数据有可能恢复,使用方式二删除数据,再恢复备份,主键不会冲突

​ 2、项目中的数据大概率不会删除,如果要做删除功能,可以在表上加一个字段来去表述该数据行是否可用(ps:0表示删除,1表示未删除)

2、单条件删除数据

DELETE FROM student WHERE id=5;

3、多条件删除数据

​ OR – 或

DELETE FROM student WHERE course='Python' OR course='HTML';

​ 效果截图:

在这里插入图片描述

​ AND – 与(并且)

DELETE FROM student WHERE course='html' and sex='women';

​ 效果截图:

在这里插入图片描述

​ IN(值1,值2,值3,…) – 删除字段上包含的数据

DELETE FROM student WHERE age IN(22,23);

​ 效果截图:
在这里插入图片描述

四、数据的修改(改)

1、修改所有数据

UPDATE student SET salary=10000;

2、单条件修改数据

UPDATE student SET salary=25000 WHERE id=1;

3、多条件修改数据

​ OR – 或

UPDATE student SET salary=30000 WHERE course='python' OR course='html';

​ 效果截图:

在这里插入图片描述

​ AND – 与(并且)

UPDATE student SET salary=40000 WHERE course='java' AND sex='women';

​ IN(值1,值2,值3,…) – 删除字段上包含的数据

UPDATE student SET salary=50000 WHERE age IN(22,23,24);

4、修改多个数据

UPDATE student SET age=20,salary=60000 WHERE id=2;

五、数据的查询(查)-- DQL

1、查询所有字段

SELECT * FROM student;

2、查询指定字段

SELECT  NAME,sex,age FROM student;

3、 查询指定字段 + 别名

SELECT name AS '姓名', sex AS '性别', age AS '年龄' FROM student;

效果截图:

在这里插入图片描述

4、单条件查询

SELECT * FROM student WHERE id=1;

5、多条件查询

OR:

SELECT * FROM student WHERE course='java' OR course='html';

AND:

SELECT * FROM student WHERE course='java' AND sex='women';

效果截图:

在这里插入图片描述

IN():

SELECT * FROM student WHERE age IN(21,22,23);

6、去重查询

需求:查询出学科

SELECT DISTINCT course FROM student;

效果截图:

在这里插入图片描述

7、模糊查询:

需求:查询出名字中带’雷’的学生信息

注意: % 表示没有或多个任意字符,_ 表示一个任意字符

SELECT * FROM student WHERE `name` LIKE '%雷%';

效果截图:

在这里插入图片描述

需求:查询出2个字的名字中最后一个字带’杨’的学生信息

SELECT * FROM student WHERE `name` LIKE '_杨';

效果截图:

在这里插入图片描述

8、单字段排序

需求:按照年龄排升序

注意:ORDER BY 排序,ASC 表示升序,DESC 表示降序

SELECT *FROM student ORDER BY age ASC;

效果截图:

在这里插入图片描述

需求:按照工资排降序

SELECT * FROM student ORDER BY salary DESC;

9、 多字段排序

需求:按照年龄排升序,年龄一致按照工资排降序

SELECT * FROM student ORDER BY age ASC,salary DESC;

效果截图:
在这里插入图片描述

10、限制查询

需求:查询出工资前三位的学生信息

SELECT * FROM student ORDER BY salary DESC LIMIT 3;

效果截图:
在这里插入图片描述

11、分页查询

分页的公式:*SELECT * FROM 表名 LIMIT (页数-1)页面条数,页面条数;

SELECT * FROM student LIMIT 0,5;
SELECT * FROM student LIMIT 5,5;
SELECT * FROM student LIMIT 10,5;

12、统计类函数查询/聚合查询

函数的理解:特定功能的代码块

需求:统计最高工资

SELECT MAX(salary) FROM student;

需求:统计最低工资

SELECT MIN(salary) FROM student;

需求:统计平均工资(保留2位小数)

SELECT ROUND(AVG(salary),2) FROM student;

需求:统计工资总和

SELECT SUM(salary) FROM student;

需求:统计学生个数

SELECT COUNT(id) FROM student;

注意:count()函数不统计字段数据为null的个数

经验:统计数据条数,count()函数中的字段使用主键(因为主键不允许重复且不能为null)

13、子查询

需求:查询最高工资的学生

SELECT * FROM student WHERE salary=(SELECT MAX(salary) FROM student);

经验:实际工作中极少使用子查询,因为效率太低

14、分组过滤查询

需求:查询出各个学科的平均工资

SELECT course ,AVG(salary) FROM student GROUP BY course;

15、分组过滤查询 + 条件

需求:查询出平均工资大于1万的学科信息

SELECT course,AVG(salary)FROM student GROUP BY course HAVING AVG(salary)>10000;

效果截图:

在这里插入图片描述

多表查询接下一章

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

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

相关文章

RK3568驱动指南|第十五篇 I2C-第179章在应用程序中使用I2C

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

WPDRRC信息安全体系架构模型

构建信息安全保障体系框架应包括技术体系、组织机构体系和管理体系等三部分,也就是说:人、管理和技术手段是信息安全架构设计的三大要素,而构成动态的信息与网络安全保障体系框架是实现系统的安全保障。 1.WPDRRC信息安全模型的定义 WPDRRC…

Oracle - 数据库打补丁实践

原文:https://www.cnblogs.com/ddzj01/p/12097467.html 一、概述 本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5 二、下载相关升级包 1. 登录MOS,查阅(ID 2118136.2),下载…

电脑录音方法:电脑怎么录音?5招轻松搞定录音!

想要从麦克风或系统音频录制电脑声音吗?这是一项简单的任务。本文将为您介绍5种最佳且最简单的方法,包括使用Windows系统自带的录音工具来录制电脑音频,在线音频录音软件和专业的第三方电脑录音软件。这些工具都能够很好地帮助您完成电脑怎么…

MySQL数据库中文乱码处理

出现中文乱码之后处理方式 1、执行下面语句查看一下关于编码方式 show variables like %char%结果展示:【你应该和我的不一样】 2、如果你的和我查询结果不一致请设置成一致语句,根据自己需要复制语句 如下:【除了最后一条记录哈】 SET G…

llm-universe | 五. 系统评估与优化

系统评估与优化 一.LLM应用评估思路1.人工评估准则一 量化评估准则二 多维评估 2.自动评估方法一. 构造客观题方法二. 计算答案相似度 3.使用大模型评估4.混合评估 二.评估并优化生成部分1. 提升直观回答质量2.标明知识来源,提高可信度3. 构造思维链4.增加一个指令解…

独立开发者系列(10)——fastadmin后台框架的认识

软件开发项目涉及到的东西非常多,作为独立开发者,普遍性的面对的是中小项目。而其中接单的情况下,以WEB方向的居多。其中主要有以下这么些类的:搭建官网cms 就是常见的资讯发布平台,发布一些企业新闻/活动宣传,纯粹是…

Docker部署ETCD 3.5.14(保姆级图文教程)

系列文章目录 Docker部署Nginx 1.21.5(保姆级图文教程) Docker部署MySQL 8.3.0(保姆级图文教程) Docker部署ETCD 3.5.14(保姆级图文教程) 文章目录 一、环境二、拉取镜像2.1 查找 Docker Hub 上的 ETCD 镜像…

【区块链+基础设施】国家健康医疗大数据科创平台 | FISCO BCOS应用案例

在医疗领域,疾病数据合法合规共享是亟待解决的难题。一方面,当一家医院对患者实施治疗后,若患者转到其 他医院就医,该医院就无法判断诊疗手段是否有效。另一方面,医疗数据属于个人敏感数据,一旦被泄露或被恶…

网络配线架的隐藏功能

网络布线是确保现代信息社会高效运转的关键技术之一。在这一领域,网络配线架扮演着至关重要 的角色。它不仅仅是一个简单的物理连接点,更拥有许多隐藏功能,这些功能极大地提升了网络的 效率、稳定性和可管理性。 1、集中管理 网络配线架提…

springboot图书馆座位预约系统-计算机毕业设计源码85670

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2开发现状 1.3论文结构与章节安排 2 开发环境及相关技术介绍 2.1 MySQL数据库 2.2 Tomcat服务器 2.3 Java语言 2.4 SpringBoot框架介绍 3 图书馆座位预约系统系统分析 3.1 可行性分析 3.1.1 技术可行性分析 3.1.2 经济可…

MySQL 代理层:ProxySQL

文章目录 说明安装部署1.1 yum 安装1.2 启停管理1.3 查询版本1.4 Admin 管理接口 入门体验功能介绍3.1 多层次配置系统 读写分离将实例接入到代理服务定义主机组之间的复制关系配置路由规则事务读的配置延迟阈值和请求转发 ProxySQL 核心表mysql_usersmysql_serversmysql_repli…

达梦数据库修改日期时间格式和语言

1、问题 重装了达梦数据库后,通过达梦管理工具查询,表字段timestamp类型变成了中文 对于2023-11-01 01:55:33格式时间插入报错,非法的时间日期类型数据 2、查询配置 通过DM8系统管理员手册查到相关配置 通过命令进行查询显示,语…

《工业微生物》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《工业微生物》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《工业微生物》级别? 答:国家级。主管单位:中国轻工业联合会 主办单位&#xff…

多个tomcat同时使用 不设置CATALINA_HOME环境变量

通常一台服务器只使用一个tomcat,设置一个CATALINA_HOME的环境变量。但有些时候需要一台服务器启动多个tomcat,那就不能设置CATALINA_HOME了!因为会串~ 我们可以在对应tomcat的startup.bat启动脚本中,加入对应的CATALINA_HOME。 …

南京林业大学点云相关团队论文

【1】Chen Dong, Wan Lincheng, Hu Fan, Li Jing, Chen Yanming, Shen Yueqian*, Peethambaran Jiju, 2024. Semantic-aware room-level indoor modeling from point clouds, International Journal of Applied Earth Observation and Geoinformation, 2024, 127, 103685. 语义…

Python入门 2024/7/2

目录 格式化的精度控制 字符串格式化 对表达式进行格式化 小练习(股票计算小程序) 数据输入 布尔类型和比较运算符 if语句 小练习(成人判断) if-else语句 if-elif-else语句 练习:猜猜心里数字 嵌套语句 猜…

TransMIL:基于Transformer的多实例学习

MIL是弱监督分类问题的有力工具。然而,目前的MIL方法通常基于iid假设,忽略了不同实例之间的相关性。为了解决这个问题,作者提出了一个新的框架,称为相关性MIL,并提供了收敛性的证明。基于此框架,还设计了一…

imagesc函数 纵坐标翻转 colormap “set” “jet“

纵坐标默认上小下大 翻转: 在Matlab中,使用imagesc函数绘制的图像的纵坐标默认是从上到下递增的,即下面的值较大,上面的值较小。如果想要翻转纵坐标,使之从上到下递增,可以通过设置坐标轴的YDir属性为’n…

【Python机器学习】模型评估与改进——带交叉验证的网格搜索

虽然将数据划分为训练集、验证集、测试集的方法是可行的,也相对常用,但这种方法对数据的划分相当敏感,为了得到对泛化性能的更好估计,我们可以使用交叉验证来评估每种参数组合的性能,而不是仅将数据单次划分为训练集与…