《SQL初学者指南(第2版)》第1章 关系型数据库和SQL

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

第1章 关系型数据库和SQL
SQL初学者指南(第2版)
正如前言中所提到的,在与关系型数据库中的数据进行交互的时候,SQL是使用最广泛的软件工具。在这方面,SQL利用了自身的语言和逻辑两方面的要素。作为一种语言,SQL的独特语法用到了很多的英语单词,诸如WHERE、FROM和HAVING。作为一种逻辑表达,它指定了在关系型数据库中检索和修改数据的细节。

考虑到了这两方面因素,我们在本书中介绍SQL的各个方面的时候,尝试强调语言和逻辑这两部分。在所有语言中,无论它们是计算机语言还是口语,我们都需要学习和记忆实际的单词。因此,我们以逻辑顺序来介绍SQL语句中出现的不同的关键字,并且每次介绍一个关键字。当学习完每一章之后,你就能够在之前的“单词量”的基础上,学习新的关键字以及使用它与数据库交互的激动人心的潜力。

除了单词本身,还有一些逻辑有待考虑。SQL语句使用的单词有独特的逻辑含义和意图。SQL的逻辑和语言一样重要。和所有的计算机语言一样,SQL经常使用不止一种方法来指定任何所需的目标。这些方法之间的细微差别,可能包括语言和逻辑两个方面。

让我们开始学习这门语言!在熟悉了SQL的语法之后,你可能会发现,SQL命令的思维方式和英语语句很类似,并且也能表达某种含义。

例如,对比下面这句话:

I would like a hamburger and fries
from your value menu,
and make it to go.

和这条SQL语句:

Select city, state
from Customers
order by state

这条SQL语句表示我们想要从数据库的Customers表中获取city和state字段,并且希望结果按照state来排序。我们稍后详细介绍这条语句的具体细节。

在这两个示例中,我们指定了想要的东西(hamburger/fries或city/state),从哪里获取(value菜单或Customers表),以及一些额外的指令(尽快去做或将结果按照state来排序)。

但是在开始之前,让我们先解决一个小问题:SQL这个单词是怎么念的?事实上有两种方法。一种方法是直接按照单个的字母来发音,就像“S-Q-L”。另一种选择,也是本书作者的首选,把这个单词读作“sequel”。这样少一个音节,也更容易读出来。然而,这个问题没有一个标准的答案。具体怎么念,实际上是个人的喜好。

大多数人都认同,字母S-Q-L的含义表示结构化查询语言(Structured Query Language)。然而,即使在这一点上,也并没有达成完全的共识。有些人认为SQL根本不表示任何含义,因为它是从一种叫做sequel的、古老的IBM语言派生而来,而这门古老的语言实际上并不代表结构化查询语言。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
13天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
30天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
90 0
|
13天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
78 6
|
2天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
2天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
9天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
9天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
34 3
|
12天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
45 0
|
13天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
21天前
|
数据库 SQL 索引
什么是数据库 SQL Execution Plan
什么是数据库 SQL Execution Plan
11 0