MySQL表的基本查询上

news2024/10/22 13:59:18

1,创建表

前面基础的文章已经讲了很多啦,直接上操作:

非常简单!下一个!

2,插入数据

1,全列插入

前面也说很多了,直接上操作:

以上插入和全列插入类似,全列插入也可以这样写:

注意,后面插入的数据数量必须和定义表的列的数量及顺序一致

2,多行数据 + 指定列插入

插入两条记录,value_list 数量必须和指定列数量及顺序一致

操作:

如果需要用一条语句插入多行数据,可以在values后面用逗号隔开然后加入数据:

3,插入否,则更新

由于 主键 或者 唯一键 对应的值已经存在而导致插入失败

可以选择性的进行同步更新操作语法:

on duplicate key update = 。。。。。

可以看到,因为主键冲突所以无法插入数据,那么我又不想要id为1的数据,这个时候就可以用上面的语法:

可以看到,表中的第一行数据被更新了。

3,替换

用法:

-- 主键 或者 唯一键 没有冲突,则直接插入;

-- 主键 或者 唯一键 如果冲突,则删除后再插入

我们可以用创建成功后的提示来看有没有数据冲突:

-- 1 row affected: 表中没有冲突数据,数据被插入

-- 2 row affected: 表中有冲突数据,删除后重新插入

创建表和插入数据讲完之后,就可以开始我们的主题了:表的查询!

4,表的查询

首先我们来快速创建一个表,让我们可以方便查询:

具体指令:

创建表指令:

CREATE TABLE exam_result ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL COMMENT '同学姓名', chinese float DEFAULT 0.0 COMMENT '语文成绩', math float DEFAULT 0.0 COMMENT '数学成绩', english float DEFAULT 0.0 COMMENT '英语成绩' );

插入表指令:

INSERT INTO exam_result (name, chinese, math, english) VALUES ('唐三藏', 67, 98, 56), ('孙悟空', 87, 78, 77), ('猪悟能', 88, 98, 90), ('曹孟德', 82, 84, 67), ('刘玄德', 55, 85, 45), ('孙权', 70, 73, 78), ('宋公明', 75, 65, 30); 

1,select列

1,全列查询

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

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

2. 可能会影响到索引的使用。(索引待后面讲解)

操作:

2,指定列查询

操作:

3,查询字段为表达式

可以看到,可以进行运算并显示在表中。

4,为查询结果指定别名

操作:在加算表达式后面加as加要命名的名字

其中,as可以省略:

5,结果去重

我们想去差个成绩,看全班分数的整体趋势,为此要求分数不重复,而我们看到math里分数有重复的部分,那么我们怎么解决这个分数重复的问题?

去重!语法:在列名前加distinct:

可以看到,表中的数据被去重

2,where语句

我们可以用where语句来做判断来查询表,具体判断的表达式:

我们用例子来描述上面操作符的使用:

1 英语不及格的同学及英语成绩 ( < 60 )

可以用比较来筛选出想要的数据。

2,语文成绩在 [80, 90] 分的同学及语文成绩

这个时候,可以引入一个指令:and,它代表的是且命令,就和C++中的&&差不多

也可以用between来查询,操作如下:

3,数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩

这里面可以用or指令来完成,or相当于C++里的||:

当然,这样写比较麻烦,那么可以使用in条件来写:

这些写会比第一种方法好看。

4,姓孙的同学 及 孙某同学

这时候得引入模糊查找和%:

可以看到,孙后面的名字都查到了,但是如果只想要后面只有一个字的怎么操作?

可以看到,用_可以指定后面跟多少字

5,语文成绩好于英语成绩的同学

可以打印列表与列表的比较:

6,总分在 200 分以下的同学

可以用表相加减得出,但是不能用给表启的名字做比较,因为语句执行的顺序不一样:

7,语文成绩 > 80 并且不姓孙的同学

这里用到了like和not连用

8,孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80

9,NULL 的查询

先创建表

查询 qq 号已知的id:

NULL 和 NULL 的比较,= 和 的区别

3,结果排序
语法:

-- ASC 为升序(从小到大)

-- DESC 为降序(从大到小)

-- 默认为 ASC

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

1,同学及数学成绩,按数学成绩升序显示

2,同学及数学成绩,按数学成绩降序显示

3,查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示

4,查询同学及总分,由高到低

5,查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示

4,筛选分页结果

关键字:limit 

只显示前几行

操作:

可以看到,limit前加的数字代表从第几行开始,第二个数字代表往下显示几行

可以用关键字offset来表示第几行开始:

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

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

相关文章

树莓派使用:YOLOv8环境搭建困难--已解决

1.安装所需包失败 在尝试运行 sudo pip3 install numpy时遇到的错误提示与系统环境管理方式有关&#xff0c;这是因为Python环境是由操作系统管理的&#xff0c;因此不允许直接通过 pip 进行系统范围的包安装。这种限制是为了防止不兼容的包破坏系统的稳定性。 解决方案: 使用…

向量的外积

向量的内积大家都很熟悉了&#xff0c;计算两个向量之间的夹角时就用到了向量的内积。 向量的内积是一个标量&#xff0c; 它的值是一个向量在另一个向量上投影的长度。 1 定义 向量的外积也叫 矢积&#xff0c; 向量积&#xff0c; 叉积。 向量的外积还是一个向量&#xff…

pyserini安装使用

目录 代码 安装 使用 msmarco-passage bm25 代码 git clone https://github.com/castorini/pyserini.git --recurse-submodules pyserini/tools为submodules&#xff0c;地址&#xff1a;anserini-tools 安装 https://github.com/castorini/pyserini/blob/master/docs/…

牛客编程初学者入门训练——BC53 判断是元音还是辅音

BC53 判断是元音还是辅音 描述 KiKi开始学习英文字母&#xff0c;BoBo老师告诉他&#xff0c;有五个字母A(a), E(e), I(i), O(o),U(u)称为元音&#xff0c;其他所有字母称为辅音&#xff0c;请帮他编写程序判断输入的字母是元音&#xff08;Vowel&#xff09;还是辅音&#x…

【JAVA毕业设计】基于Vue和SpringBoot的历史学习网站

本文项目编号 T 004 &#xff0c;文末自助获取源码 \color{red}{T004&#xff0c;文末自助获取源码} T004&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

图示详解OpenEuler下Samba多用户身份验证配置、测试

前言 前文《图例详解OpenEuler下Samba安装、配置和测试》已对Samba服务的工作原理、安装、配置和测试&#xff0c;做了系统的介绍&#xff0c;并对匿名用户的访问samba服务器做了配置&#xff0c;相必读者已对samba服务的流程有了初步、系统的了解&#xff0c;本文在以上基础上…

如何在ActivityCommunication中整合多个Activity(实操)

下面举例添加一个WebViewIntentDemoActivity 第一步&#xff1a;先将java文件导入集合项目中 第二步&#xff1a;创建新的main界面&#xff0c;导入需要增加的Activity界面&#xff08;记得与前面的命名区分开&#xff09; 第三步&#xff1a;在集合Activity界面中添加一个新按…

docker删除容器要怎么操作?如何保障容器安全!

对于新手来说很多用户不清楚docker删除容器要怎么操作&#xff1f;在执行删除操作前&#xff0c;请确保不需要保留容器的任何数据或状态信息&#xff0c;或者已经备份了重要数据。要删除Docker容器和镜像&#xff0c;可以使用以下命令。今天就跟着小编一起来了解下docker删除容…

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法)

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法) requests-pkcs12 PyPI python中如何使用requests模块下载文件并获取进度提示 1、GET方法 1.1、调用 # 下载客户端(GET)def download_client_get(self, header_all):try:url = self.host + "/xxx/v1/xxx-mod…

基于SpringBoot+Vue的扶贫助农有机农产品商城【源码+安装+讲解+售后+开题+答辩PPT】

【1】系统介绍 ① 背景 在快速发展的中国&#xff0c;农村经济虽受益于国家整体繁荣&#xff0c;但仍面临基础设施落后、信息闭塞及销售渠道狭窄等挑战&#xff0c;阻碍了优质农产品的市场拓展&#xff0c;影响农民收入。互联网与电商的兴起&#xff0c;为解决这一难题提供了…

SpringBoot项目如何导入外部jar包:详细指南

在开发SpringBoot项目时&#xff0c;我们经常需要引入一些外部的jar包来增强项目的功能。这些jar包可能不是Maven中央仓库中的&#xff0c;或者我们想要使用特定版本的jar包。本文将详细介绍如何在SpringBoot项目中导入外部jar包&#xff0c;并确保项目能够正确地打包和运行。 …

基于SpringBoot的高校竞赛管理系统:设计与实现

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理高校学科竞赛平台的相关信息成为必然。开发…

【Linux】命令行下的“复制”操作||复制文件和路径

拷贝(cp,copy) cp命令来自于英文单词"copy"&#xff08;复制&#xff09;的缩写&#xff0c;用于将一个或多个文件或目录复制到指定位置。 cp [参数] 源文件 目标文件 参数&#xff1a; 致谢&#xff1a;Linux常用命令大全(手册) – 真正好用的Linux命令在线查询…

算法系列之十二:多边形区域填充算法--扫描线填充算法(有序边表法)

二、扫描线算法&#xff08;Scan-Line Filling&#xff09; 扫描线算法适合对矢量图形进行区域填充&#xff0c;只需要直到多边形区域的几何位置&#xff0c;不需要指定种子点&#xff0c;适合计算机自动进行图形处理的场合使用&#xff0c;比如电脑游戏和三维CAD软件的渲染等等…

【洛谷】- P1923 【深基9.例4】求第 k 小的数

文章目录 一、 P1923 【深基9.例4】求第 k 小的数二、思想方法2、代码3、细节 一、 P1923 【深基9.例4】求第 k 小的数 题目&#xff1a; 二、思想方法 首先我们来看核心代码&#xff0c;也就是通过快排&#xff0c;将K的位置找出 void my_sort(int arr[],int left,int right,…

170页满分PPT | 某大型集团信息安全管理体系优化咨询项目

某大型集团信息安全管理体系优化咨询项目是一项全面的规划报告&#xff0c;旨在根据ISO 27001:2013信息安全管理国际标准&#xff0c;对甲方集团的信息安全现状进行调研分析&#xff0c;并提出优化建议。该报告共170页可编辑PPT格式&#xff0c;详细列出了信息安全建设的各个阶…

css的思考

CSS思考[vue react tailwindcss] 传统css 全局作用域: 一旦生效&#xff0c;应用于全局&#xff0c;造成各种各样的冲突&#xff0c;为了避免冲突&#xff0c;会写复杂的id选择器和类选择器依赖问题&#xff1a;引入多个css样式文件&#xff0c;引入的css文件会对后面的css文…

企业数字化转型:打造数字资产开启创新与可持续发展之路

在当今数字经济时代&#xff0c;企业面临激烈竞争与变化的客户需求。传统信息化已不足以支撑发展&#xff0c;需将其提升到数字化高度&#xff0c;以打造数字资产为目标进行转型。 信息化主要是对业务流程进行优化和管理&#xff0c;关注数据采集、存储与处理及业务流程自动化。…

源之东方受邀出席第三届通证经济发展论坛暨绿色消费生态高质量发展大会

2024 年 9 月 27 日&#xff0c;在美丽的博鳌&#xff0c;由中国国际经济技术合作促进会主办&#xff0c;中国国际经济技术合作促进会通证经济工作委员会承办的 2024&#xff08;第三届&#xff09;通证经济发展论坛暨绿色消费生态高质量发展大会隆重召开。本次大会主题是“聚焦…

一键脚本部署单机redis

这里写目录标题 背景步骤总结 背景 现在有要求&#xff0c;将所有安装步骤可复用化 。sh脚本即可完成如上要求&#xff0c;减少人安装带来的不确定性因素。 需要安装包的可以加我微信。 步骤 在/root 目录下创建一个文件我们给他命名为 autoRedis.sh vi autoRedis.sh然后…