【MySQL基本查询(上)】

文章目录

  • 一、多行插入 + 指定列插入数据
    • 更新表中某个数据的信息(on duplicate)
    • 了解affected报告信息
  • 二、检索功能
    • 1.select 查询
      • 1.1全列查询
      • 1.2指定列查询
      • 1.3where条件筛选子句
        • 案例
    • 2.结果排序
      • 案例
    • 3.筛选分页结果
      • offset实现分页



一、多行插入 + 指定列插入数据

首先创建一个表如下:

mysql> create table if not exists students(
-> id int unsigned primary key auto_increment,
-> sn int not null unique key comment “学号”,
-> name varchar(20) not null,
-> qq varchar(20)
-> );

向表中插入多行数据:

mysql> insert into students values(124,1222,‘许攸’,‘224455’),(125,1233,‘董卓’,‘22444441’),(126,1211,‘张良’,‘23123131’);

向表中插入多组全列数据,中间用逗号隔开即可。

下面是向表中插入多组指定列数据:
同样中间用逗号隔开

mysql> insert into students(sn,name,qq) values(12222,‘温承翰’,‘224455’),(1231313,‘伯明翰’,‘22444441’),(12121,‘谢尔比’,‘23123131’);

更新表中某个数据的信息(on duplicate)

使用on duplicate key update,更新属性信息。

mysql> insert into students(sn,name,qq) values(12122,‘刘铁子’,‘23123132’) on duplicate key update sn=130,name=‘吕布’,qq=‘23123131’;

如果插入的刘铁子不存在于表中,就直接插入刘铁子这个信息。
此时就会出现:
1 row affected。

如果存在于表中,就把刘铁子这条信息更新成吕布的。
此时,就会出现:
2 row affected。

了解affected报告信息

0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等
1 row affected: 表中没有冲突数据,数据被插入
2 row affected: 表中有冲突数据,并且数据已经被更新

二、检索功能

1.select 查询

首先创建一个表:

mysql> 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 ‘英语成绩’
-> );
然后在表中插入一些数据:
mysql> 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.1全列查询

select * from exam_result;

查询表中的所有数据:
在这里插入图片描述

1.2指定列查询

查询指定列的时候,如果要查询多列,不需要按照表的定义的顺序来:

查询名字列,然后将语数英三门科目的分数加起来,并命名成一个新名字:total。

mysql> select name, chinese + math + english as total from exam_result;

在这里插入图片描述

也可以查询一个字段:该字段包含表达式:

mysql> select name ,10 from exam_result;

在这里插入图片描述

还可以对结果去重:
(distinct )

mysql> select distinct math from exam_result;

在这里插入图片描述

总结:
select既可以带表达式,又可以对表达式进行重命名,还能去重。

1.3where条件筛选子句

在这里插入图片描述

但是这里需要注意:NULL不能跟NULL比较,结果还是NULL。
NULL不参与比较运算,如果非得比,那就得用IS NULL 或 IS NOT NULL来比较

在这里插入图片描述
在这里插入图片描述

mysql> select name,english from exam_result where english < 60 ;

案例

英语不及格的同学及英语成绩 ( < 60 )
mysql> select name,english from exam_result where english < 60 ;
在这里插入图片描述

语文成绩在 [80, 90] 分的同学及语文成绩
mysql> select name,chinese from exam_result where chinese >= 80 and chinese <= 90;
在这里插入图片描述

数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩
mysql> select name,math from exam_result where math=58 or math=59 or math=98 or math=99;
在这里插入图片描述
姓孙的同学 及 孙某同学
mysql> select name from exam_result where name like ‘孙%’;
% 匹配任意多个(包括 0 个)任意字符
mysql> select name from exam_result where name like ‘孙_’;
_匹配严格的一个任意字符
在这里插入图片描述

语文成绩好于英语成绩的同学
mysql> select name from exam_result where chinese > english;
在这里插入图片描述

总分在 200 分以下的同学
mysql> select name,chinese+math+english as total from exam_result where chinese+math+english < 200;
在这里插入图片描述

语文成绩 > 80 并且不姓孙的同学
mysql> select name from exam_result where chinese > 80 and name not like ‘孙%’;
在这里插入图片描述

孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80
mysql> select name chinese,math,english,chinese+math+english from exam_result where name like ‘孙%’ or chinese+math+english>200 and chinese < math and english > 80;
在这里插入图片描述

2.结果排序

关键词:order by

  • 默认排升序(asc)
  • 升序是asc (Ascending order)
  • 降序是desc (Descending order)

案例

显示同学及数学成绩,按数学成绩升序显示
mysql> select name ,math from exam_result order by math asc;
在这里插入图片描述

显示同学及 qq 号,按 qq 号排序显示
mysql> select name, qq from students order by qq asc;
在这里插入图片描述
NULL 视为比任何值都小,升序出现在最上面

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

3.筛选分页结果

mysql> select * from exam_result limit 4;
表示从最开头开始,连续读取4行。
在这里插入图片描述

mysql> select * from exam_result limit 2,4;
这个2,代表从下标为1开始读取。
表示从第一行开始,连续读取4行。
在这里插入图片描述

offset实现分页

mysql> select * from exam_result limit 4 offset 0;

代表该页有4条数据,页从0下标开始。

mysql> select * from exam_result limit 4 offset 4;

代表该页有4条数据,页从4-1下标开始。

mysql> select * from exam_result limit 4 offset 8;

代表该页有4条数据,页从8-1下标开始。

这样就实现了分3页,每页有4条数据的分页功能。

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

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

相关文章

融入新科技的SLM27211系列 120V, 3A/4.5A高低边高频门极驱动器兼容UCC27284,MAX15013A

SLM27211是高低边高频门极驱动器&#xff0c;集成了120V的自举二极管&#xff0c;支持高频大电流的输出&#xff0c;可在8V~17V的宽电压范围内驱动MOSFET&#xff0c;独立的高、低边驱动以方便控制&#xff0c;可用于半桥、全桥、双管正激和有源钳位正激等拓。有极好的开通、关…

Python入门系列-02 pip的安装

目录 一、pip介绍二、pip安装检查三、pip安装 一、pip介绍 pip 是 Python 包管理工具&#xff0c;该工具提供了对Python 包的查找、下载、安装、卸载的功能。 二、pip安装检查 你可以通过以下命令来判断是否已安装。 pip --version # Python2.x 版本命令 pip3 --versio…

二叉树的广度优先遍历 - 华为OD统一考试(D卷)

OD统一考试(D卷) 分值: 200分 题解: Java / Python / C++ 题目描述 有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。 现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结…

《前端算法宝典:双指针问题解析与应用》

双指针 双指针&#xff0c;指的是在遍历对象的过程中使用两个相同方向&#xff08;快慢指针&#xff09;或者相反方向&#xff08;对撞指针&#xff09;的指针或者是两个指针构成一个滑动窗口进行扫描&#xff0c;从而达到相应的目的。 双指针方法在某些情况下可以对有序数组…

IDM下载器激活

文章目录 1、Internet Download Manager简介2、Internet Download Managery应用3、Internet Download Managery下载 1、Internet Download Manager简介 Internet Download Manager (IDM) 是一款功能强大的下载管理软件&#xff0c;旨在帮助用户更高效地管理和加速其下载任务。它…

产业互联网助力预制菜出海 云创科技数据资产入表获批融资500万 新能源装备新质供应链创新协同平台启动 | 产业互联网观察第173期

产业互联网助力预制菜迈向国际市场 在第135届广交会上&#xff0c;一场聚焦“产业互联网赋能预制菜出海”的高端对话会隆重举办。本次活动由中国食品土畜进出口商会主办&#xff0c;云食界网络科技有限公司承办&#xff0c;吸引了众多政府领导、行业专家和企业代表参与。各界共…

MATLAB模拟退火算法、遗传算法、蚁群算法、粒子群算法

概况 模拟退火算法、遗传算法、蚁群算法、粒子群算法等算法&#xff0c;都是属于概率算法&#xff0c;不绝对&#xff0c;不迅速&#xff0c;能用其它方式解决的问题&#xff0c;不要用这些相对复杂的算法&#xff0c;比如有明确的线性关系或者非线性对应关系。这里的概率算法…

流程详解!2024年成都市发明专利申请流程及各阶段操作要点

一、受理阶段 时间期限&#xff1a; 电子申请2天内&#xff0c;纸质申请当天现场提交&#xff0c;邮寄约为半月。 申请人&#xff1a; 1. 委托专利代理机构&#xff0c;签订委托代理协议和保密协议等&#xff1b; 2. 提供原始技术资料和个人以及单位信息等&#xff1b; 3…

解决ssh使用服务器运行代码时中断问题

https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.htmlhttps://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

【JavaWeb】Servlet+JSP+EL表达式+JSTL标签库+Filter过滤器+Listener监听器

需要提前准备了哪些技术&#xff0c;接下来的课才能听懂&#xff1f; JavaSE&#xff08;Java语言的标准版&#xff0c;Java提供的最基本的类库&#xff09; Java的开发环境搭建Java的基础语法Java的面向对象数组常用类异常集合多线程IO流反射机制注解Annotation… MySQL&…

经常睡不好觉?试试用上华为手环9新升级的睡眠监测功能

睡眠问题是不是经常困扰着你呢&#xff1f;听说&#xff0c;华为手环9的睡眠监测功能升级了&#xff0c;无论是入睡前、睡眠中还是睡醒后&#xff0c;都能够帮助我们改善睡眠&#xff0c;让我们告别糟糕的睡眠质量&#xff01; 睡觉前&#xff0c;打开华为手环9的睡眠模式&…

图表控件LightningChart .NET中文教程 - 创建3D网格模型实时着色应用

LightningChart.NET完全由GPU加速&#xff0c;并且性能经过优化&#xff0c;可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D&#xff0c;高级3D&#xff0c;Polar&#xff0c;Smith&#xff0c;3D饼/甜甜圈&#xff0c;地理地图和GIS图表以及适用于科学…

住房“以旧换新”,后续需要关注啥?

政治局会议提出对房地产“消化存量、优化增量”&#xff0c;地产政策重心或转向去库存&#xff0c;各地住房“以旧换新”政策引发关注。“以旧换新”分为国企收购、市场化交易、购房补贴三种模式&#xff0c;其中国企收购政策力度较大&#xff0c;消化商品房库存增加保障房供给…

第4章 处理多种内容类型

4.1 内容类型Content-Type 4.1.1 什么是Content-Type Content-Type是HTTP协议头中的一个字段&#xff0c;它用于描述HTTP请求或响应中所传输的实体数据的媒体类型&#xff08;MIME类型&#xff09;。Content-Type告诉客户端和服务器端所传输的数据的实际内容类型&#xff0c;使…

数据库(MySQL)基础:约束

一、概述 1.概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 2.目的&#xff1a;保证数据库中数据的正确、有效性和完整性。 3.分类 约束描述关键字非空约束限制该字段的数据不能为nullnot null唯一约束保证该字段的所有数据都是唯一…

Python深度学习基于Tensorflow(2)Tensorflow基础

文章目录 基本操作数据转换和数据生成操作形状数据提取和保存变量Numpy和Tensorflow的比较 计算图静态图动态图自动图 自动微分使用Tensorflow 实现回归 首先是Tensorflow的安装&#xff0c;由于可能会出现版本冲突&#xff0c;最好在conda环境安装&#xff0c;同时&#xff0c…

什么是IT服务台?

IT服务台是组织中的单一联系点&#xff0c;负责解决所有与 IT 相关的问题、查询和请求。IT服务台也称为技术支持、支持中心、信息中心、IT 解决方案中心或技术支持。 IT 服务台的多用途角色可实现多个目标&#xff0c;例如快速解决问题、培养用户满意度、提高组织流程效率以及提…

华为ensp中BFD和OSPF联动(原理及配置命令)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月6日20点26分 BFD通常指的是双向转发检测。BFD是一个旨在快速检测通信链路故障的网络协议&#xff0c;提供了低开销、短延迟的链路故障检测机制。它主要用于监测两个…

【复试分数线】C9历年分数线汇总(第二弹)

今天我将分析C9中主要考信号的5所院校&#xff1a;复旦大学、上海交通大学、南京大学、哈尔滨工业大学、西安交通大学。 这次会为大家整理四电四邮的整理了近三年各院校的复试分数线作为参考&#xff0c;大家可以参考&#xff01; 大多数院校采取的是1.2:1差额的形式复试。举…

egg数据统计之mysql数据库创建视图并可当表使用并查询

打开视图---->新建视图-----> 运行sql ----> 保存 统计地区的愿望数量 sql语句 select user.id AS id,count(userplant.userid) AS amount,user.locationid AS locationid,user->location.name AS locationname from ((userplants userplant left join users us…