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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介:

第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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
7天前
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之数据集成时源头提供数据库自定义函数调用返回数据,数据源端是否可以写自定义SQL实现
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3天前
|
SQL 存储 数据库
性能分析工具如Sql explain、show profile和mysqlsla在数据库性能优化中有什么作用
性能分析工具如Sql explain、show profile和mysqlsla在数据库性能优化中有什么作用
|
9天前
|
SQL Oracle 关系型数据库
|
8天前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
36 3
|
13天前
|
SQL 监控 安全
数据库安全:SQL注入防御实践
【7月更文挑战第11天】SQL注入攻击作为一种常见的网络攻击手段,对数据库的安全性和业务稳定构成了严重威胁。为了有效防御SQL注入攻击,开发者和数据库管理员应采取一系列实践措施,包括输入验证与过滤、使用参数化查询、限制数据库用户权限、使用Web应用程序防火墙、定期更新和打补丁、实施实时监控和审计以及使用HTTPS协议等。通过这些措施的实施,可以显著提升数据库的安全性,降低遭受SQL注入攻击的风险。同时,开发者和数据库管理员应持续关注新的安全威胁和防御技术,不断提升自身的安全防护能力。
|
14天前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
19天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
143 1
|
14天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
24 0
|
14天前
|
SQL 监控 Java
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
24 0
|
16天前
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。