最全最易理解的数据库查询教程

article/2025/10/22 13:24:03

数据库查询

      • 检索数据表中一个字段的内容
      • 检索数据表中多个字段的内容
      • 检索数据表中所有字段的内容
      • 带限制条件的查询
      • 表达式查询
      • 使用 WHERE 语句和逻辑表达式
      • 使用WHERE语句检索单范围数据
      • 使用WHERE语句检索双范围数据
      • 使用WHERE语句检索不匹配某条件的语句
      • 使用通配符[]模糊匹配数据内容
      • 使用通配符[]和^模糊匹配取反的数据内容
      • 使用通配符_模糊匹配数据内容
      • 使用通配符%模糊匹配数据内容的后半部分
      • 使用通配符%模糊匹配数据内容的任意部分

检索数据表中一个字段的内容

我们将从最简单的 SELECT 语句开始学习。

语法规则为:

SELECT 字段名 FROM 表名 

举个例子
我们想从表 Customers 中得到 cust_name 字段所有的内容,即所有人的姓名。表 Customers 的内容如下图所示:
在这里插入图片描述
输入:

SELECT cust_name
FROM Customers

输出:

在这里插入图片描述
我们成功从表 Customers 中检索到了字段 cust_name 的内容。

检索数据表中多个字段的内容

如果我想检索更多的字段呢?当然可以做到,而且语法结构与检索单个字段的内容类似,只需要你把想要检索的字段,统统放到 SELECT 后面就可以了,记得要加逗号隔开。

语法规则为:

SELECT 字段名1, 字段名2, 字段名3 FROM 表名 

举个例子
我们想从表 Customers 中得到 cust_id 和 cust_name 字段所有的内容。

输入:

SELECT cust_id, cust_name
FROM Customers

输出:
在这里插入图片描述
可以看到,我们成功从表 Customers 中检索到了字段 cust_id 和 cust_name 的内容。

检索数据表中所有字段的内容

如果我想检索一张表内的所有字段呢?是不是需要我把字段一个一个列出来呀?如果我不记得字段都有哪些了怎么办呢?当然有解决办法!
我们可以通过在 SELECT 语句后使用 * 来返回表内所有字段的内容。

语法规则为:

 SELECT * FROM 表名 

举个例子
我们想从表 Customers 中得到所有字段的内容。

输入:

SELECT *
FROM Customers

输出:
在这里插入图片描述

带限制条件的查询

SELECT 语句可以帮你返回所有匹配的内容,甚至整张表的内容。但是如果你仅仅是想要第一行的数据或者前几行的数据怎么办呢?好消息是我们可以通过限制条件来查询,不过限制条件的语法在各个数据库中的语法是不同的。在 SQL Server 中:

语法规则为:

SELECT TOP 行数 字段名 FROM 表名

举个例子
我们想从表 Customers 中得到 cust_name 字段的前 3 行内容。表 Customers 的内容如下图所示:

在这里插入图片描述

输入:

SELECT TOP 3 cust_name
FROM Customers

输出:

在这里插入图片描述

当然,如果你使用的是 MYSQL 或者其他数据库,语法可不一样啊,你得去问 google 咯-

表达式查询

有时候,你并不想知道某个字段的内容,而是想知道经过处理后的内容。这种情况有很多。比如,你想知道这一批的书打6折后都是多少钱?你想知道字段 A 和字段 B 加起来是多少?这是可以做到的,我们可以使用表达式查询来达到此目的。

语法规则为:

 SELECT 包含字段名的表达式 AS 新字段名 FROM 表名

其中,表达式计算的结果会放在新字段名下面,但是新字段名并没有存储在表中,而是暂时把结果返回给你,供你参考。

举个例子
我们想从把表 Customers 中每位消费者的 cust_id 都 +1 。表 Customers 的内容与上例的相同。

输入:

SELECT cust_id, cust_id+1 as new_cust_id
FROM Customers

输出:
在这里插入图片描述

使用 WHERE 语句和逻辑表达式

下表为与 WHERE 语句搭配的操作符列表:
在这里插入图片描述

使用WHERE语句检索单范围数据

如果你想在房屋中介数据库中,寻找小于100万的房子,你应该怎么做?你是不是很自然的就想到了要用操作符 < 的。

让我们举个例子来看看,检索单范围数据是怎么实现的:

我们想从表 Customers 中找到消费大于 1000 的人。表 Customers 的内容如下图所示:
在这里插入图片描述
输入:

SELECT cust_name, cost
FROM Customers
WHERE cost > 1000

输出:
在这里插入图片描述
不仅是 > ,其他操作符 < , <= , >= , !< , !> 的使用方法也是一样的。

使用WHERE语句检索双范围数据

还有一种情况,就是你心目中有一个理想的区间范围。比如你想买房,不能太便宜,因为便宜的有可能又小又偏僻,也不能太贵,因为。。。呵呵大家懂的。这时候,你就需要划定一个范围,SQL 很贴心的为大家提供了自然语言关键字,用来划定数字的范围。

语法规则为:

WHERE 字段名 BETWEEN 数字1 AND 数字2

举个例子
我们想从表 Customers 中找到消费在 1000~3000 之间的人。表 Customers 的内容和上例相同。

输入:

SELECT cust_name, cost
FROM Customers
WHERE cost BETWEEN 1000 AND 3000

输出:
在这里插入图片描述
Tips:
注意,使用 BETWEEN…AND… 时一定要记住较小的数在前边,较大的数在后边!

使用WHERE语句检索不匹配某条件的语句

有很多人可能有过这样的感觉,问你想要什么样的男/女朋友,你可能说想要这样的,那样的,好像都不错,看感觉吧。虽然你可能不知道你最想要什么,但是你一定知道你不想要什么。

SQL 语句也一样,它为你提供了选择不想要什么的机会。

举个例子
我们想从表 Customers 中找到消费者不在 New York 的人。表 Customers 的内容和上例相同。

输入:

SELECT cust_name, cust_city
FROM Customers
WHERE cust_city <> 'New York'

输出:
在这里插入图片描述
Tips:
注意,在SQL Server 中,不等于只能用 <> 符号,不能使用 != 符号。

使用通配符[]模糊匹配数据内容

通配符 [] 是个中括号,一看就知道里面是应该放点什么内容,放点什么呢?它又有什么作用呢?

[] 用于将一组字符囊括在内,这一组字符之间是或的关系,而通配符 [] 出现的位置也严格匹配于括号中出现的字符在整个字符串中的位置。

是不是有点抽象?一会儿我们举个例子你就明白了,先来看看语法吧。

语法规则为:

 SELECT 字段名 FROM 表名  WHERE  字段名 LIKE '[数据]' 

举个例子
我们想从表 Customers 中,检索到所有 cust_name 以 a 和 t 开头的消费者的所有数据。表 Customers 的内容如下图所示:
在这里插入图片描述
输入:

SELECT *
FROM Customers
WHERE cust_name LIKE '[at]%'

输出:
在这里插入图片描述
分析:
我们在语法中加入了通配符 % 。因为通配符 [] 中出现的只能是有或关系的 单字符 。所以除非你想检索的是单字符,否则不加 % 的话,你将检索不到任何内容。

Tips:
注意,通配符中的字符大小写不敏感 !

使用通配符[]和^模糊匹配取反的数据内容

我们还可以对检索内容进行“取反”。使用符号 ^ 后,我们可以成功的检索到 [] 中没出现的字符。

语法规则为:

SELECT 字段名 FROM 表名  WHERE  字段名 LIKE '[^数据]' 

举个例子
我们想从表 Customers 中,检索到所有 cust_name 不是以 a 和 t 开头的消费者的所有数据。表 Customers 的内容如下图所示:
在这里插入图片描述
输入:

SELECT *
FROM Customers
WHERE cust_name LIKE '[^at]%'

输出:
在这里插入图片描述
分析:
当然,你也可以使用 NOT 操作符来得到相同的结果。相比来说,^ 唯一的好处就是简化了 WHERE 语句的语法。

举个例子

SELECT *
FROM Customers
WHERE NOT cust_name LIKE '[at]%'

使用通配符_模糊匹配数据内容

另一个很实用的通配符是下划线 _ ,它的使用规则与 % 类似,唯一与 % 不同的是:% 能匹配多个字符,而 _ 只能匹配一个字符!

语法规则为:

SELECT 字段名 FROM 表名  WHERE  字段名 LIKE '数据和_的组合' 

举个例子
我们想从表 Customers 中检索到 cust_id 尾数只有个位数的消费者的所有数据。表 Customers 的内容如下图所示。大家可以看到,我们只有一个 cust_id 尾数为两位数的消费者 Sol Pozo ,该如何撇开它呢?在这里插入图片描述

输入:

SELECT *
FROM Customers
WHERE cust_id LIKE '100000000_'

输出:
在这里插入图片描述
在这个例子里,通配符 _ 只匹配到了一个字符,那如果想匹配多个连起来的字符呢?那就把通配符 _ 连起来!

使用通配符%模糊匹配数据内容的后半部分

在所有通配符中,最常用的通配符要数 % 了。使用了 % 就意味着,你能从现有的数据中匹配到任意个数的字符(注意,可以是不止一个字符哟)。

语法规则为:

SELECT 字段名 FROM 表名  WHERE  字段名 LIKE '数据%'; 

举个例子
我们想从表 Customers 中检索到所有叫 Alice 的消费者的所有数据。表 Customers 的内容如下图所示。大家可以看到,我们有 Alice Nicholas 和 Alice Edwards 两个都叫 Alice 的人,该如何做才能同时匹配到他们两个呢?

在这里插入图片描述

输入:

SELECT *
FROM Customers
WHERE cust_name LIKE 'Alice%'

输出:

在这里插入图片描述
在这个例子里,我们使用了模糊匹配模式 Alice% ,运行后,数据库会检索出所有以 Alice 为开头的字符串来,无论 Alice 后有多长的字符串数据库都能检索出来。

Tips:
注意,模式匹配是大小写敏感的!如果你检索的是 alice% ,那就什么都检索不到了!

使用通配符%模糊匹配数据内容的任意部分

如果,你想检索的内容既不在字符串的头部,也不在字符串的尾部,而是在它们的中间,你该如何检索呢?

举个例子
我们想从表 Customers 中得检索到所有拥有 yahoo 邮箱的消费者的所有数据。表 Customers 的内容如下图所示:
在这里插入图片描述
如果我们还按刚才的方法,看看我们能检索到什么?

输入:

SELECT *
FROM Customers
WHERE cust_email LIKE 'yahoo%'

输出:

在这里插入图片描述
啊哦!什么都没检索到!那是因为, yahoo% 模式严格匹配的是以 yahoo 开头的字符串。而大家可以看到,在我们的例子中,包含 yahoo 字符串的邮箱地址是以不同名字作为字符串开头的。

所以,要想匹配到五花八门的名字,我们需要把它们都变成通配符 % 。

输入:

SELECT *
FROM Customers
WHERE cust_email LIKE '%yahoo%'

输出:
在这里插入图片描述
想象一下,如果你在 cust_email 中检索 a%m ,会得到什么样的结果?


http://chatgpt.dhexx.cn/article/jQCZDJKb.shtml

相关文章

数据库基础知识——SELECT 语句(检索数据)

SQL使用 SQL&#xff08;发音为字母S-Q-L或sequel&#xff09;是结构化查询语言&#xff08;Structured Query Language&#xff09;的缩写。SQL是一种专门用来与数据库通信的语言。 SQL 语言特点&#xff1a; SQL 语言不区分大小写&#xff1b;在命令行窗口的 SQL 语句要以…

Python爬虫获取数据保存到数据库中(超级详细,保证一看就会)

1.简介介绍 -网络爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动…

python数据爬取---简单页面的爬取

1、准备Requests和User Agent python中能实现爬虫功能的库有若干个&#xff0c;而最简单最容易上手的&#xff0c;要数Requests库&#xff0c;它是一个常用的http请求库&#xff0c;首先用pip install requests 进行安装才能使用。 User Agent一般翻译为用户代理&#xff0c;…

Python小姿势 - # 如何使用Python爬取网页数据

如何使用Python爬取网页数据 今天我们来学习一下如何使用Python来爬取网页数据。 首先&#xff0c;我们需要准备一个空白的文件&#xff0c;在文件中输入以下代码&#xff1a; import requests url http://www.baidu.com r requests.get(url) print(r.text) 上面的代码中&…

Python爬取数据

爬虫基本思路<通用> Response 服务器返回响应数据 Preview 预览 Payload 请求参数 Headers 头部信息&#xff1a;请求url地址、请求方式、响应头、请求头 一、数据来源分析 -抓包分析我们想要的数据内容&#xff0c;请求的那个网页 url地址得到。 -选中xhr 找到想要的内容…

手把手教会你用Python爬虫爬取网页数据!!

其实在当今社会&#xff0c;网络上充斥着大量有用的数据&#xff0c;我们只需要耐心的观察&#xff0c;再加上一些技术手段&#xff0c;就可以获取到大量的有价值数据。这里的“技术手段”就是网络爬虫。今天就给大家分享一篇爬虫基础知识和入门教程&#xff1a; 什么是爬虫&a…

python-爬取网站数据

一、安装jar 找到python解释解释器的安装根目录&#xff0c;执行以下命令&#xff0c; pip install requests #如果这个BeautifulSoup这个安装不上&#xff0c;可以换成pip install BeautifulSoup4试试 pip install BeautifulSoup二、肯定就是敲代码了 import urllib.reques…

Python爬虫入门教程!手把手教会你爬取网页数据

其实在当今社会&#xff0c;网络上充斥着大量有用的数据&#xff0c;我们只需要耐心的观察&#xff0c;再加上一些技术手段&#xff0c;就可以获取到大量的有价值数据。这里的“技术手段”就是网络爬虫。今天就给大家分享一篇爬虫基础知识和入门教程&#xff1a; 什么是爬虫?…

Python爬取整个网页的数据

本案例是基于PyCharm开发的&#xff0c;也可以使用idea。 在项目内新建一个python文件Test.py Test.py # 导入urllib下的request模块 import urllib.request # 导入正则匹配包 import re# -*- encoding:utf-8 -*- """ 作者&#xff1a;小思 文件名&#xff1a;…

python数据爬取及数据可视化分析

电影网站数据分析及可视化研究 本博客是一篇集数据爬取&#xff0c;存储为excel表格&#xff0c;将数据可视化为一体的博文&#xff0c;数据爬取采用request等方法&#xff0c;数据可视化会使用图表进行展示&#xff0c;有改进的地方还请大家多多指教。 目录 电影网站数据分析…

Python 爬取网页数据的两种方法

Python 爬取网页数据的两种方法 1. 概述2. 使用pandas 爬取网页数据2.1 打开网页2.2 打开 PyCharm 编译器 3.使用urllib爬取网页数据并写入Excel表3.1 下载 urllib 库3.2 代码如下3.3 运行结果如下 结束语 1. 概述 网络抓取是从任何网站或任何其他信息源中提取数据的过程&…

使用 Python 爬取网页数据

在需要过去一些网页上的信息的时候&#xff0c;使用 Python 写爬虫来爬取十分方便。 1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 HTML 解析库, 可以编写出用于采集网络数据的…

如何用Python爬数据?(一)网页抓取

你期待已久的Python网络数据爬虫教程来了。本文为你演示如何从网页里找到感兴趣的链接和说明文字&#xff0c;抓取并存储到Excel。 &#xff08;由于微信公众号外部链接的限制&#xff0c;文中的部分链接可能无法正确打开。如有需要&#xff0c;请点击文末的“阅读原文”按钮&a…

python爬虫爬取网页数据

前言 python爬取页面内容的编程教程&#xff1a; 1.首先要明确想要爬取的目标。对于网页源信息的爬取首先要获取url&#xff0c;然后定位的目标内容。具体如图所示。 2.先使用基础for循环生成的url信息。具体如图所示。 &#xff08;文末送读者福利&#xff09; 3.然后需要模…

Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章

原标题&#xff1a;解决Python爬虫爬不到数据 前言&#xff1a; 近期&#xff0c;通过做了一些小的项目&#xff0c;觉得对于Python爬虫有了一定的了解&#xff0c;于是&#xff0c;就对于Python爬虫爬取数据做了一个小小的总结&#xff0c;希望大家喜欢&#xff01; 文章目录…

Python爬虫学习-简单爬取网页数据

疫情宅家无事&#xff0c;就随便写一些随笔吧QwQ… 这是一篇介绍如何用Python实现简单爬取网页数据并导入MySQL中的数据库的文章。主要用到BeautifulSoup requests 和 pymysql。 以网页https://jbk.39.net/mxyy/jbzs/为例&#xff0c;假设我们要爬取的部分数据如下图所示&#…

Python爬取网页数据

都说python爬网页数据方便&#xff0c;我们今天就来试试&#xff0c;python爬取数据到底有多方便 简介 爬取数据&#xff0c;基本都是通过网页的URL得到这个网页的源代码&#xff0c;根据源代码筛选出需要的信息 准备 IDE&#xff1a;pyCharm 库&#xff1a;requests、lxml…

Python爬虫爬取数据

我是Python小白&#xff0c;我会用比较通俗易懂的方法告诉你如何去爬取数据。 一开始&#xff0c;我们需要pycharm&#xff08;也就是我们编代码的工具&#xff09;&#xff0c;其次我们需要打开我们需要爬取数据的网页&#xff0c;我以鞋子为例。 那么&#xff0c;接下来就开…

如何使用Python爬虫抓取数据?

Python爬虫应用十分广泛&#xff0c;无论是各类搜索引擎&#xff0c;还是日常数据采集&#xff0c;都需要爬虫的参与。其实爬虫的基本原理很简单&#xff0c;今天小编就教大家如何使用Python爬虫抓取数据&#xff0c;感兴趣的小伙伴赶紧看下去吧&#xff01; 工具安装 首先需要…

Python爬虫:高效采集数据的几种方法

作为互联网时代的新生力量&#xff0c;爬虫技术已经成为了各行各业不可或缺的一环。那么&#xff0c;如何高效地获取网络数据呢&#xff1f;本文将从以下十个方面逐步分析讨论。 一、基于HTTP协议的爬虫 HTTP协议是目前互联网上使用最广泛的协议&#xff0c;基于此协议的爬虫…