Page 1 of 1

SQL Server、PostgreSQL、MySQL...有什么区别?我从哪里开始?

Posted: Wed Jan 15, 2025 9:00 am
by Habib01
有什么区别?
我从哪里开始?
DataCamp 能提供什么帮助?
快来和我们一起教学吧!
分享
关系数据库是一组表(具有行和列的数据集),其中包含与数据库中其他表相关的信息。

下图包含有关示例关系数据库中两个表的列的信息。两个表 哥伦比亚数据 都包含名为 customer_id 的列,该列在表之间建立关系。随着您的业务增长并记录数千(或数百万)个订单,将数据存储在单独的表中有助于优化空间并减小数据库大小。


SQL,即结构化查询语言,是与关系数据库交互的标准语言。使用 SQL,您可以查询关系数据库中的数据或提出问题。对于数据分析师、数据工程师或数据科学家来说,使用 SQL和关系数据库是一项非常宝贵的技能。

如果您已经开始寻找学习 SQL 的方法,您可能已经意识到有许多不同的 SQL 方言需要学习,不同方言之间存在一些明显(和不太明确)的区别。你从哪里开始?如果您以前没有使用过哪个版本的 SQL 对您来说最有用?在本文中,我们将重点介绍四种最流行的数据库管理系统(PostgreSQL、MySQL、SQLite 和 SQL Server)及其 SQL 语法版本。

下图来自 Stack Overflow Trends,提供了对这些平台的讨论频率的了解:每条线代表有关每个 SQL 版本的所有 Stack Overflow 问题的百分比。


MySQL一直是 Stack Overflow 问题上最受欢迎的 SQL 版本。位居第二的是Microsoft SQL Server(包括 T-SQL,微软 SQL 方言的名称),它始终是比PostgreSQL和SQLite更受欢迎的标签。这意味着,如果您对这些系统之一有具体问题,您更有可能发现有人已经问过您的问题。

有什么区别?
PostgreSQL、MySQL 和 SQLite 使用非常相似的语法,但下面突出显示了一些显着差异。 Microsoft SQL Server 具有最大的 SQL 语法对比,以及其他平台上不具备的多种功能。下表显示了 SQL 平台之间基本差异的一些示例。

SQL服务器 MySQL PostgreSQL SQLite
选择... 选择[列1]、[列2] 选择列 1、列 2 选择列 1、列 2 选择列 1、列 2
表中的数据区分大小写吗? 是的,WHERE name = 'John' 或 WHERE name = 'john' 不同 不,WHERE name = 'John' 或 WHERE name = 'john' 是相同的 是的,WHERE name = 'John' 或 WHERE name = 'john' 不同 是的,WHERE name = 'John' 或 WHERE name = 'john' 不同
使用引号 只是名字 = '约翰' 姓名=“约翰”或姓名=“约翰” 只是名字 = '约翰' 姓名=“约翰”或姓名=“约翰”