【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条数据的分页功能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型

光伏设备制造5G智能工厂数字孪生可视化平台&#xff0c;推进行业数字化转型。光伏设备制造5G智能工厂数字孪生可视化平台是光伏行业数字化转型的重要一环。通过数字孪生平台&#xff0c;光伏设备制造企业可以实现对生产过程的全面监控和智能管理&#xff0c;提高生产效率&#…

word 毕业论文格式调整

添加页眉页脚 页眉 首先在页面上端页眉区域双击&#xff0c;即可出现“页眉和页脚”设置页面&#xff1a; 页眉左右两端对齐 如果想要页眉页脚左右两端对齐&#xff0c;可以选择添加三栏页眉&#xff0c;然后将中间那一栏删除&#xff0c;即可自动实现左右两端对齐&#x…

OBS插件--视频回放

视频回放 视频回放是一款源插件&#xff0c;它可以将指定源的视频缓存一段时间&#xff08;时间可以设定&#xff09;&#xff0c;将缓存中的视频添加到当前场景中后&#xff0c;可以快速或慢速不限次数的回放。这个功能在类似体育比赛的直播中非常有用&#xff0c;可以捕获指…

【沐风老师】3DMAX百叶窗修改器LouverGenerator安装使用方法

3DMAX百叶窗修改器LouverGenerator安装使用方法 3DMAX百叶窗修改器&#xff0c;在单面几何对象&#xff08;或二维图形&#xff09;范围内&#xff0c;创建百叶窗结构模型的修改器插件。修改器参数可设置动画效果。 【版本要求】 3dMax 2018及更高版本 【安装方法】 1.点击3d…

Hive UDTF之explode函数、Lateral View侧视图

Hive UDTF之explode函数 Hive 中的 explode() 函数是一种用于处理数组类型数据的 User-Defined Table-Generating Function (UDTF)。它将数组拆分成多行&#xff0c;每个数组元素对应生成的一行数据。这在处理嵌套数据结构时非常有用&#xff0c;例如处理 JSON 格式的数据。 …

读天才与算法:人脑与AI的数学思维笔记23_人工智能讲故事

1. 伟大的自动语法分析器 1.1. 思维呆板机械的阿道夫奈普&#xff08;Adolphe Knipe&#xff09;一直想成为一名作家&#xff0c;可是他写出来的东西既迂腐又无趣 1.2. 后来&#xff0c;灵光乍现&#xff0c;他得到了一个启示&#xff1a;语言遵循语法规则&#xff0c;这规则…

Mysql-用户变量的声明与使用

#声明变量 #1.标识符不能以数字开头 #2.只能使用_或$符号&#xff0c;不能使用其他符号 #3.不能使用系统关键字 setuserName刘德华; select userName:刘青云;#将赋值与查询结合 #查询变量、使用变量&#xff0c;匿名的时候建议加上as select userName as 读取到的userName变量…

Linux线程(一)初识线程

目录 一、什么是线程 二、线程和进程的区别 三、线程的操作 1、创建线程 2、获取线程ID 3、线程的终止与等待 4、线程分离 一、什么是线程 在Linux中&#xff0c;线程&#xff08;thread&#xff09;是一种轻量级进程&#xff08;Light-weight Process, LWP&#xff09…

什么样的人能上百度词条

百度百科是一个向所有互联网用户开放的平台&#xff0c;任何人都可以创建或编辑词条。然而&#xff0c;并不是所有的人物或事物都能被收录到百度百科中&#xff0c;它有一定的收录标准和审结的关于哪些人或事物能上百度百科的条件和流程。 百度百科的收录标准 知名度和影响力&…

攻击者正在利用AI,对保险公司发起大规模欺诈

保险欺诈一直是保险行业面临的重要挑战之一&#xff0c;尤其随着技术的进步&#xff0c;欺诈者也在不断更新其手段&#xff0c;利用AI技术&#xff0c;包括生成式模型、机器学习和数据分析工具等欺骗保险公司&#xff0c;而AI技术的应用正成为他们的新工具&#xff0c;使其犯罪…

深度学习:基于TensorFlow 和 Keras,使用神经网络回归模型预测 IPL 分数

前言 系列专栏&#xff1a;机器学习&#xff1a;高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目&#xff0c;每个项目都处理一组不同的问题&#xff0c;包括监督和无监督学习、分类、回归和聚类&#xff0c;而且涉及创建深度学…

性能远超GPT-4!谷歌发布Med-Gemini医疗模型;李飞飞首次创业瞄准空间智能;疫苗巨头联合OpenAl助力AI医疗...

AI for Science 企业动态速览—— * 谷歌 Med-Gemini 医疗 AI 模型性能远超 GPT-4 * 斯坦福李飞飞首次创业瞄准「空间智能」 * 疫苗巨头 Moderna 与 OpenAl 达成合作 * 美国能源部推动 AI 在清洁能源领域的应用 * 美年健康荣获「2024福布斯中国人工智能创新场景应用企业TOP10」…

Linux基础服务NFS入门篇

文章目录 Linux基础服务NFS入门篇0.前言1.NFS1.1NFS简介1.2NFS配置 Linux基础服务NFS入门篇 0.前言 本文根据大佬们的资料整理了NFS的基础知识&#xff0c; 加深对linux运维基础服务工具的理解&#xff0c;以便个人查询复习使用。 1.NFS 资料来自B站阿铭linux的印象笔记&#…

C语言 | Leetcode C语言题解之第79题单词搜索

题目&#xff1a; 题解&#xff1a; int directions[4][2] {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};bool check(char** board, int boardSize, int boardColSize, int** visited, int i, int j, char* s, int sSize, int k) {if (board[i][j] ! s[k]) {return false;} else if (…

怎么样练口才_如何练口才和反应能力?

怎么样练口才_如何练口才和反应能力&#xff1f; 要练习口才和反应能力&#xff0c;以下是一些建议的方法&#xff1a; 一、口才练习 朗读&#xff1a; 每天坚持朗读一些文章&#xff0c;可以是报纸、杂志、书籍或网络上的文章。这有助于练习口齿清晰&#xff0c;积累知识量和…

ABC352编程笔记

ABC352 编程笔记 题意&#xff1a;输入&#xff0c;四个数 a , b , c , d a,b,c,d a,b,c,d&#xff0c;若 d d d 在 c , d c,d c,d 之间&#xff0c;则输出 Yes&#xff0c;否则输出 No。 正解&#xff1a;直接判断。 #include <bits/stdc.h> //#define int long lo…

2024年去除视频水印的5种方法

如果你从事电影剪辑或者视频编辑工作&#xff0c;你经常需要从优酷、抖音、TikTok下载各种视频片段……。 通常这些视频带有水印和字幕。一些免费软件如CapCut、canva、Filmora也会给你制作的视频打上水印&#xff0c;这些水印嵌入在视频内部。 2024年去除视频水印的5种方法 …

Centos 7.9如何使用源码编译安装curl最新版本

文章目录 1、前言2、curl源代码下载3、openssl安装4、编译curl4.1、配置编译环境4.2、编译输出二进制curl程序4.3、安装编译后的curl4.4、编译完成检查4.5、验证安装 1、前言 centos 7.9&#xff0c;由于系统未2017年发行&#xff0c;且以稳定性为主&#xff0c;部分工具版本较…

Unity-NGUI爆错以后-导致不能多次点击,UI假卡死问题解决方法

太久没用&#xff0c;忘了&#xff0c;NGUI好像易出错&#xff0c;就再次点击不了 导致打开了UI关闭不了&#xff0c;每次都要重启就比较烦&#xff08;说的就是那种美术团队&#xff0c;一个 UI 打开几十层&#xff09; 就好比【左上角&#xff0c;箭头】点第二次是退出不了了…

docker安装Debian:11 freeswitch1.10.5

文章目录 一、生成一个镜像二、切换一个镜像源为阿里源三、安装一些相关依赖和freeswitch3.1第一步&#xff1a;安装freeswitch-mod和下载所需的依赖项3.2 设置密钥3.3 安装freeswitch所需的依赖项3.4 报错3.4.1 报错13.4.2 报错23.4.3 报错3 四、运行4.1 通话三十秒自动挂断 一…