MySQl基础入门⑫

news2024/9/26 1:16:58

上一遍文章内容

查询时选择行

1.查询指定记录

假设students表包含字段name, major, 和 email,我们可以构造一个查询来找出所有专业为“计算机科学”且邮箱中包含"@university.edu"的学生姓名和邮箱:

SELECT name, email FROM students WHERE major = '计算机科学' AND email LIKE '%@example.com';

这个查询将返回满足条件(专业是“计算机科学”,并且邮箱地址包含"@example.com")的所有学生的姓名和邮箱信息。
在这里插入图片描述

2.带IN关键字的查询

假设students表有一个字段major,我们想查询专业为“计算机科学”或“数学与应用数学”的所有学生信息,可以使用IN关键字来实现:

SELECT * FROM students WHERE major IN ('计算机科学', '数学与应用数学');

这个查询将返回在students表中专业为“计算机科学”或“数学与应用数学”的所有学生的完整记录。
在这里插入图片描述
当然,如果你想查询特定字段(比如姓名name和邮箱email),可以这样指定:

SELECT name, email FROM students WHERE major IN ('计算机科学', '数学与应用数学');

这个查询将只返回在students表中专业为“计算机科学”或“数学与应用数学”的学生的姓名和邮箱信息。
在这里插入图片描述

where 写=、<>、!=、>=、<=、Between的6种用法

先给表添加年龄和成绩的字段属性
在这里插入图片描述

ALTER TABLE students ADD age INT,ADD grade VARCHAR(10);

再查看表结构是否发生改变
desc students

随机给年龄和成绩添加值
你应该使用UPDATE语句假设这些学生已经存在于数据库中,并且他们的id是从1到10,你可以这样更新:

UPDATE students 
SET age = CASE id 
            WHEN 1 THEN 20 
            WHEN 2 THEN 21 
            WHEN 3 THEN 19 
            WHEN 4 THEN 20 
            WHEN 5 THEN 21 
            WHEN 6 THEN 18 
            WHEN 7 THEN 22 
            WHEN 8 THEN 19 
            WHEN 9 THEN 20 
            WHEN 10 THEN 21 
        END,
    grade = CASE id 
              WHEN 1 THEN 95 
              WHEN 2 THEN 85 
              WHEN 3 THEN 90 
              WHEN 4 THEN 88 
              WHEN 5 THEN 92 
              WHEN 6 THEN 80 
              WHEN 7 THEN 93 
              WHEN 8 THEN 87 
              WHEN 9 THEN 91 
              WHEN 10 THEN 89 
          END
WHERE id BETWEEN 1 AND 10;

请注意,这里我们假设id字段确实是主键,并且存在对应的记录。此外,这种方法适用于每个id都有唯一对应的新年龄和成绩的情况。如果不同id有相同的年龄或成绩,可以直接用等值条件来简化UPDATE语句。
在这里插入图片描述

1. 查询所有专业为“计算机科学”的学生信息:

SELECT * FROM students WHERE major = '计算机科学';

在这里插入图片描述

2. 查询所有专业不为“数学与应用数学”的学生信息:

SELECT * FROM students WHERE major <> '数学与应用数学' OR major != '数学与应用数学'; 
-- 在SQL中,<>和!=的效果是一样的

在这里插入图片描述

3. 查询序号(id)大于等于5的学生信息:

**SELECT * FROM students WHERE id >= 5;**

在这里插入图片描述

4. 查询年龄(假设字段名为age)小于等于20的学生信息:

SELECT * FROM students WHERE age <= 20;

在这里插入图片描述

5. 查询成绩(假设字段名为grade)在80到90分之间的学生信息(包括80和90分):

SELECT * FROM students WHERE grade BETWEEN 80 AND 90;

在这里插入图片描述


BETWEEN AND的范围查询

假设在students表中有一个年龄(age)字段,你想查询年龄在18岁到25岁之间的所有学生信息,可以使用BETWEEN关键字来实现:

SELECT * FROM students WHERE age BETWEEN 18 AND 25;

这个SQL语句将返回students表中所有年龄在18岁至25岁(包括18岁和25岁)的学生的所有信息。如果需要指定查询特定字段,比如只查询姓名(name)和邮箱(email),则修改为:

SELECT name, email FROM students WHERE age BETWEEN 18 AND 25;

同样地,若成绩(grade)字段是数值类型,并且你想查询成绩在80分到90分之间(含80和90分)的学生,则可以这样写:

SELECT * FROM students WHERE grade BETWEEN 80 AND 90;

LIKE的字符串匹配查询

假设在students表中有一个字段email,你想查询所有电子邮件地址包含"@university.com"的学生信息,可以使用LIKE关键字来实现:

SELECT * FROM students WHERE email LIKE '%@university.com';

这个SQL语句将返回students表中所有邮箱地址含有"@university.com"子串的学生的所有信息。如果你想只查询特定字段(如姓名name和专业major),则可以这样写:

SELECT name, major FROM students WHERE email LIKE '%@university.com';

这里的'%@university.com'是一个通配符表达式,其中%表示任意数量的任意字符,@university.com是我们要匹配的部分。


空值查询

students表中添加一个新字段(例如:phone_number),可以使用ALTER TABLE语句。假设你想要添加的电话号码是一个字符串类型,你可以这样操作:

ALTER TABLE studentsADD COLUMN phone_number VARCHAR(20) DEFAULT NULL; -- 设置默认值为NULL,允许为空

执行上述命令后,students表中就会新增一个名为phone_number的字段,并且根据你的设定可能是可空的,并带有默认值(如果设置了的话)。然后你就可以开始向这个字段插入数据了。

若需要同时创建并填充该字段的数据,请参考以下示例(假设已知每个学生的电话号码):

UPDATE students
SET phone_number = CASE id 
                     WHEN 1 THEN '1234567890'
                     WHEN 2 THEN '0987654321'
                     -- ...以此类推,直到id=10的学生
                     WHEN 10 THEN '0987654321' 
                  END
WHERE id BETWEEN 1 AND 10;

这里需要注意的是,你需要根据实际情况替换每个学生对应的电话号码。

假设在students表中有一个字段phone_number,你想查询所有电话号码为空(即没有填写电话号码)的学生信息,可以使用IS NULL关键字来实现:

SELECT * FROM students WHERE phone_number IS NULL;

这个SQL语句将返回students表中所有电话号码字段为空的所有学生的所有信息。如果你想只查询特定字段(如姓名name和邮箱email),则可以这样写:

SELECT name, email FROM students WHERE phone_number IS NULL;

以上查询将会列出那些电话号码未填写的学生的姓名和邮箱地址。


带AND的多条件查询语句

假设在students表中,你想要查询所有年龄大于18岁并且专业为"计算机科学"的学生信息。可以这样写:

SELECT * FROM students WHERE age > 18 AND major = '计算机科学';

这个SQL语句将返回students表中所有满足条件(年龄大于18岁且专业为“计算机科学”)的学生的所有信息。

如果你想查询特定字段,例如姓名(name)和邮箱(email),则修改为:

SELECT name, email FROM students WHERE age > 18 AND major = '计算机科学';

假设在students表中有以下字段:id, name, age, majorregistration_year。现在,你想要查询所有年龄大于18岁、专业为"计算机科学"且注册年份为2020年的学生姓名及专业,可以使用如下SQL语句:

SELECT name, major FROM students WHERE age > 18 AND major = '计算机科学' AND registration_year = 2020;

registration_year字段 你自己添加
这个查询将返回满足所有条件(年龄大于18岁、专业为“计算机科学”以及注册年份为2020年)的学生的姓名和专业信息。


查询不同的值

students表中,假设我们想查询所有具有不同成绩(grade)的学生姓名和成绩,可以使用DISTINCT关键字来实现:

SELECT DISTINCT name, grade FROM students;

这个SQL语句将返回students表中所有不同的成绩及其对应的学生姓名。这里的“不同值”指的是去除重复的成绩记录,每个唯一的成绩只显示一次,并且与之关联的学生姓名也会显示出来。


显示前N行数据

students表中,假设你想要显示前5行的学生信息,可以使用LIMIT关键字来实现:

SELECT * FROM students LIMIT 5;

这个SQL语句将返回students表中的前5条记录,即前5名学生的所有信息。

如果你想按照某个特定字段(例如:成绩grade)降序排列后取前5名,可以这样写:

SELECT * FROM students ORDER BY grade DESC LIMIT 5;

上述查询将首先根据成绩从高到低排序,然后返回最高的5个成绩对应的学生的所有信息。如果想按其他字段排序,只需替换grade为相应的字段名即可。

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

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

相关文章

种植新革命:科技赋能绿色未来

《种植新革命&#xff1a;科技赋能绿色未来》 一、种植技术的颠覆式创新 随着科技的飞速发展&#xff0c;种植技术也在经历一场颠覆式的创新。传统的种植方式&#xff0c;虽然历史悠久&#xff0c;经验丰富&#xff0c;但在面对现代化、大规模、高效的需求时&#xff0c;逐渐…

一分钟带你入门Selenium入门!【建议收藏】

Selenium入门 欢迎阅读Selenium入门讲义&#xff0c;本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识。 自动化测试的基础 在Selenium的课程以前&#xff0c;我们先回顾一下软件测试的基本原理&#xff0c;为我们进一步完成Selenium自动化测试做好准备。 软件…

解决GNURadio自定义Python OOT块-导入块时报错问题

文章目录 前言一、问题描述二、解决方法1、卸载已安装的 OOT 块2、重新编译及安装3、重新测试 前言 本文记录在 GNURadio 自定义Python OOT 块后导入块时报错 ModuleNotFoundError: No module named xxx。 一、问题描述 参考官方教程 Creating Python OOT with gr-modtool 创…

【ppt技巧】PPT转换为图片,方法有哪些?

想要将ppt文件转换为图片&#xff0c;其实很简单&#xff0c;一起来看一下如何操作吧&#xff01; 方法一&#xff1a; 使用格式转换器&#xff0c;有些文件格式转换器&#xff0c;支持ppt转换为图片。 方法二&#xff1a; 不需要转换器&#xff0c;直接在ppt中进行操作即可…

linux上安装locust并进行压测demo

我的linux服务器上有两个python版本 使用python3 pip3 install locust 过程中有一些报错 第一个报错 gcc: error trying to exec cc1plus: execvp: No such file or directoryerror: command gcc failed with exit status 1第二个报错 src/greenlet/greenlet_refs.hpp:181:19…

数据库:基本操作与用户授权

一 基本操作 1 SQL分类 数据库&#xff1a;database 表&#xff1a;table&#xff0c;行&#xff1a;row 列&#xff1a;column 索引&#xff1a;index 视图&#xff1a;view 存储过程&#xff1a;procedure 存储函数&#xff1a;function 触发器&#xff1a;trigger 事…

文件操作:文本文件(写/读)

文件操作可以将数据永久化&#xff0c;C中对文件操作需要包含头文件 < fstream > 文件类型分为两种&#xff1a; 1. 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2. 二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;…

理解计算属性等

计算属性 计算属性的作用是将写在computed内的写了对应的属性名&#xff0c;属性值都是函数&#xff0c;将这属性值的函数调用之后的返回值赋给属性名的变量。因此其实计算属性内的是值&#xff0c;不是方法&#xff0c;因此写插值等语句是只是写变量&#xff0c;而不是调用。且…

电气接点在线测温解决方案--ARTM电气接点在线测温装置

ARTM系列电气接点在线测温装置适用于高低压开关柜内电缆接头、断路器触头、刀闸开关、高压电缆中间头、干式变压低压大电流等设备的温度监测&#xff0c;防止在运行过程中因氧化、松动、灰尘等因素造成接点接触电阻过大而发热成为安全隐者、患&#xff0c;提高设备安全保障&…

Linux 磁盘的一生

注意&#xff1a;实验环境都是使用VMware模拟 ​ 磁盘接口类型这里vm中是SCSI&#xff0c;扩展sata,ide(有时间可以看看或者磁盘的历史) ​ 总结&#xff1a;磁盘从有到无—类似于建房子到可以住 ————————————————————————————————————…

【MyBatis】in根据查询的顺序返回结果

目标效果&#xff1a;根据in中元素的顺序返回结果 查询id为&#xff08;2&#xff0c;4&#xff0c;1&#xff0c;3&#xff09;的数据&#xff0c;并按此顺序返回 第一次尝试 select id, name from tb_shop where id in (2, 4, 1, 3);期待效果 实际效果 正确的语句 select …

Chrome浏览器扩展插件开发

manifest.json: {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.1","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons": {&quo…

Effect:由渲染本身引起的副作用

React 组件中的两种逻辑类型&#xff1a; 渲染逻辑代码 位于组件的顶层&#xff0c;接收 props 和 state&#xff0c;进行转换&#xff0c;返回屏幕上看到的 JSX&#xff0c;只计算不做其他任何事情&#xff1b;事件处理程序 嵌套在组件内部的函数&#xff0c;由特定的用户操作…

一句命令解决huggingface.co无法下载模型问题

血来潮从github上下载的模型&#xff0c;在运行demo点批发的时候&#xff0c;发现大模型并不能直接从huggingface上直接下载&#xff0c;这是因为众所周知的网络问题。 其实只要一句命令就可以解决这个问题。 export HF_ENDPOINThttps://hf-mirror.com修改HF_ENDPOINT系统变量…

极客早报第3期:罗斯否认插足凯特王妃婚姻;清明放假调休3天;国产伟哥去年销售近13亿

一分钟速览新闻点&#xff01; 每日简报 罗斯否认插足凯特王妃婚姻清明放假调休3天国产伟哥去年销售近13亿男子持台球杆殴打2名女店员被抓今日春分淀粉肠小王子带货日销售额涨超10倍[高中生被打伤下体休学 邯郸通报](https://www.baidu.com/s?wd高中生被打伤下体休学 邯郸通报…

表的约束【mysql数据库】

表中一定要有各种约束&#xff0c;通过约束来保证未来插入表格的数据是符合预期的。约束本质是通过技术手段倒闭程序员插入正确的数据。反过来&#xff0c;站在mysql视角&#xff0c;插入进来的数据&#xff0c;都是符合数据约束的。 约束的最终目标&#xff1a;保证数据的完整…

腾讯云优惠券、代金券、折扣券领取方法及使用教程

腾讯云作为国内领先的云计算服务提供商&#xff0c;一直致力于为广大用户提供高效、稳定、安全的云服务。为了吸引用户上云&#xff0c;腾讯云经常推出各种优惠活动&#xff0c;其中就包括腾讯云优惠券。下面小编将详细介绍腾讯云优惠券的相关信息&#xff0c;包括种类、领取入…

力扣---完全平方数

思路&#xff1a; 还是比较好想的&#xff0c;g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1&#xff0c;数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化&#xff0c;&#xff08;举个例子&#xff09;因为在遍历到g[4]时&…

算法系列--递归

一.如何理解递归 递归对于初学者来说是一个非常抽象的概念,笔者在第一次学习时也是迷迷糊糊的(二叉树遍历),递归的代码看起来非常的简洁,优美,但是如何想出来递归的思路或者为什么能用递归这是初学者很难分析出来的 笔者在学习的过程中通过刷题,也总结出自己的一些经验,总结来…

[数据集][目标检测]高质量铁路轨道缺陷检测数据集VOC+YOLO格式1050张6类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1050 标注数量(xml文件个数)&#xff1a;1050 标注数量(txt文件个数)&#xff1a;1050 标注…