MySQL 第四章、第五章、第六章、第七章 如何基本操作数据

第四章 检索数据

本章将介绍如何使用SELECT语句从表中检索一个或多个数据列。

SELECT语句

正如第1章所述,SQL语句是由简单的英语单词构成的。这些单词称 为关键字,每个SQL语句都是由一个或多个关键字构成的。大概,最经常使用的SQL语句就是SELECT语句了。它的用途是从一个或多个表中检索 信息。

为了使用SELECT检索表数据,必须至少给出两条信息——想选择什 么,以及从什么地方选择。

检索单个列

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

检索多个列

要想从一个表中检索多个列,使用相同的SELECT语句。唯一的不同
是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分隔。
在这里插入图片描述
在这里插入图片描述

检索所有列

在这里插入图片描述

检索不同的行

正如所见,SELECT返回所有匹配的行。但是,如果你不想要每个值 每次都出现,怎么办?例如,假如你想得出products表中产品的所有供 应商ID:
在这里插入图片描述
在这里插入图片描述

不能部分使用DISTINCT DISTINCT关键字应用于所有列而 不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有行都将被 检索出来

限制结果

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

使用完全限定的表名

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

小结

本章学习了如何使用SQL的SELECT语句来检索单个表列、多个表列
以及所有表列。下一章将讲授如何排序检索出来的数据。

第五章 排序检索数据

本章将讲授如何使用SELECT语句的ORDER BY子句,根据需要排序检 索出的数据。

排序数据

正如前一章所述,下面的SQL语句返回某个数据库表的单个列。但请
看其输出,并没有特定的顺序。
在这里插入图片描述
其实,检索出的数据并不是以纯粹的随机顺序显示的。如果不排 序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控 制的话,不能(也不应该)依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。

子句(clause) SQL语句由子句构成,有些子句是必需的,而
有的是可选的。一个子句通常由一个关键字和所提供的数据组 成。子句的例子有SELECT语句的FROM子句,我们在前一章看到过这个子句。
为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。 ORDER BY子句取一个或多个列的名字,据此对输出进行排序。请看下面 的例子:
在这里插入图片描述
在这里插入图片描述

按多个列排序

经常需要按不止一个列进行数据排序。例如,如果要显示雇员清单, 可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。 如果多个雇员具有相同的姓,这样做很有用。

为了按多个列排序,只要指定列名,列名之间用逗号分开即可(就 像选择多个列时所做的那样)。

下面的代码检索3个列,并按其中两个列对结果进行排序——首先按 价格,然后再按名称排序。
在这里插入图片描述
重要的是理解在按多个列排序时,排序完全按所规定的顺序进行。 换句话说,对于上述例子中的输出,仅在多个行具有相同的prod_price 值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。

指定排序方向

数据排序不限于升序排序(从A到Z)。这只是默认的排序顺序,还可 以使用ORDER BY子句以降序(从Z到A)顺序排序。为了进行降序排序, 必须指定DESC关键字。

下面的例子按价格以降序排序产品(最贵的排在最前面):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第六章 过滤数据

本章将讲授如何使用SELECT语句的WHERE子句指定搜索条件。

过滤数据

数据库表一般包含大量的数据,很少需要检索表中所有行。通常只 会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要 指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。
在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE子句在表名(FROM子句)之后给出,如下所示:

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

WHERE 字句操作符

在这里插入图片描述

检查单个值

我们已经看到了测试相等的例子。再来看一个类似的例子:
在这里插入图片描述
现在来看几个使用其他操作符的例子。

第一个例子是列出价格小于10美元的所有产品:
在这里插入图片描述
在这里插入图片描述

不匹配检查

以下例子列出不是由供应商1003制造的所有产品:
在这里插入图片描述

范围值检查

为了检查某个范围的值,可使用BETWEEN操作符。其语法与其他WHERE
子句的操作符稍有不同,因为它需要两个值,即范围的开始值和结束值。 例如,BETWEEN操作符可用来检索价格在5美元和10美元之间或日期在指 定的开始日期和结束日期之间的所有产品。

下面的例子说明如何使用BETWEEN操作符,它检索价格在5美元和10 美元之间的所有产品:
在这里插入图片描述

空值检查

在创建表时,表设计人员可以指定其中的列是否可以不包含值。在
一个列不包含值时,称其为包含空值NULL。

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

第七章 数据过滤

本章讲授如何组合WHERE子句以建立功能更强的更高级的搜索条件。 我们还将学习如何使用NOT和IN操作符。

组合WHERE字句

第6章中介绍的所有WHERE子句在过滤数据时使用的都是单一的条 件。为了进行更强的过滤控制,MySQL允许给出多个WHERE子句。这些子 句可以两种方式使用:以AND子句的方式或OR子句的方式使用。

操作符(operator) 用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符(logical operator)。

AND操作符

为了通过不止一个列进行过滤,可使用AND操作符给WHERE子句附加
条件。下面的代码给出了一个例子:
在这里插入图片描述
在这里插入图片描述

OR操作符

OR操作符与AND操作符不同,它指示MySQL检索匹配任一条件的行。
在这里插入图片描述
OR WHERE子句中使用的关键字,用来表示检索匹配任一给定
条件的行。

计算次序

WHERE可包含任意数目的AND和OR操作符。允许两者结合以进行复杂
和高级的过滤。

但是,组合AND和OR带来了一个有趣的问题。为了说明这个问题,来 看一个例子。假如需要列出价格为10美元(含)以上且由1002或1003制 造的所有产品。下面的SELECT语句使用AND和OR操作符的组合建立了一个 WHERE子句:
在这里插入图片描述
在这里插入图片描述

IN操作符

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

NOT操作符

WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所 跟的任何条件。

NOT WHERE子句中用来否定后跟条件的关键字。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vc++全版本组件大全 VC++运行时(Visual C++ Runtime)是VC++开发环境中用于支持C和C++程序运行的基础库集合。这些库包含了执行C/C++程序所必需的基本函数和数据结构,例如内存管理、字符串操作、输入输出处理、异常处理等。VC++运行时库分为静态库和动态库两种形式,以适应不同类型的项目需求。 静态链接库 vs 动态链接库 静态链接库(Static Linking Libraries):在编译时,静态库的代码会被直接嵌入到最终生成的可执行文件中。这意味着每个使用静态库的程序都会包含库代码的一个副本,导致最终程序的体积较大,但不需要外部库文件支持即可独立运行。在VC++中,静态链接库的例子有LIBC.lib(用于单线程程序)和LIBCMT.lib(用于多线程程序)。 动态链接库(Dynamic Link Libraries):与静态链接相反,动态库的代码并不直接加入到应用程序中,而是在程序运行时被加载。这使得多个程序可以共享同一份库代码,节省了系统资源。VC++的动态运行时库主要通过msvcrt.dll(或其变体,如MSVCRTD.dll用于调试版本)实现,与之配套的导入库(Import Library)如CRTDLL.lib用于链接阶段。 运行时库的版本 VC++运行时库随着Visual Studio版本的更新而发展,每个版本都可能引入新的特性和优化,同时保持向后兼容性。例如,有VC++ 2005、2008、2010直至2019等多个版本的运行时库,每个版本都对应着特定的开发环境和Windows操作系统。 重要性 VC++运行时对于确保程序正确运行至关重要。当程序在没有安装相应运行时库的计算机上执行时,可能会遇到因缺失DLL文件(如MSVCP*.dll, VCRUNTIME*.dll等)而导致的错误。因此,开发完成后,通常需要分发相应的VC++ Redistributable Packages给最终用户安装,以确保程序能够在目标系统上顺利运行。 安装与部署 安装VC++运行时库通常是通过Microsoft提供的Redistributable Packages完成的,这是一个简单的过程,用户只需运行安装程序即可自动安装所需组件。对于开发者而言,了解和管理不同版本的运行时库对于确保应用程序的广泛兼容性和可靠性是必要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值