SQL教程

2024年03月23日 SQL教程 极客笔记

SQL教程

SQL教程提供SQL的基本和高级概念。我们的SQL教程旨在面向初学者和专业人士。

SQL(Structured Query Language)用于对存储在数据库中的记录执行操作,例如更新记录、插入记录、删除记录、创建和修改数据库表、视图等等。

SQL不是数据库系统,但它是一种查询语言。

假设您想对数据库中存储的数据执行SQL语言的查询。您需要在系统中安装任何数据库管理系统,例如 Oracle , MySQL , MongoDB , PostgreSQL , SQL Server , DB2 ,等等。

什么是SQL

SQL是结构化查询语言的缩写,发音为S-Q-L或有时为See-Quell。

这个数据库语言主要用于维护关系数据库管理系统中的数据。它是数据专业人员处理结构化数据(以表格形式存储的数据)的特殊工具。它还设计用于RDSMS中的流处理。

您可以轻松创建和操作数据库,访问和修改表格行和列等等。这个查询语言在1986年成为ANSI的标准,在1987年成为ISO的标准。

如果您想在数据科学领域找工作,学习SQL是最重要的查询语言。像Facebook,Instagram和LinkedIn等大型企业使用SQL来存储后端的数据。

为什么使用SQL

如今,SQL在数据科学和分析中被广泛使用。以下是解释它被广泛使用的原因:

  • 数据专业人员和SQL用户的基本用途是从关系数据库中插入、更新和删除数据。
  • SQL允许数据专业人员和用户从关系数据库管理系统中检索数据。
  • 它还帮助他们描述结构化数据。
  • 它允许SQL用户创建、删除和操作数据库及其表格。
  • 它还帮助在关系数据库中创建视图、存储过程和函数。
  • 它允许您定义数据并修改关系数据库中存储的数据。
  • 它还允许SQL用户在表格列、视图和存储过程上设置权限或约束。

SQL的历史

“大型共享数据库的关系模型”是由伟大的计算机科学家E.F.科德(E.F. Codd)在1970年发布的一篇论文。

IBM的研究人员Raymond Boyce和Donald Chamberlin在从E.F. Codd获得的论文中学到后,最初开发了SEQUEL(Structured English Query Language)。他们俩在IBM公司的圣何塞研究实验室于1970年开发了SQL。

在1970年代末,关系软件公司(现在已更名为Oracle Corporation)根据E.F.科德、Raymond Boyce和Donald Chamberlin的概念开发了自己的第一个SQL。这个SQL完全基于RDBMS。关系软件公司于1979年6月推出了Oracle V2,这是SQL语言的第一个实现。这个Oracle V2版本在VAX计算机上运行。

SQL的过程

当我们在任何关系数据库管理系统上执行SQL命令时,系统会自动找到执行我们请求的最佳例行程序,SQL引擎确定如何解释特定的命令。

结构化查询语言的过程包括以下四个组件:

  • 查询分发器
  • 优化引擎
  • 经典查询引擎
  • SQL查询引擎等等

经典查询引擎允许数据专业人员和用户维护非SQL查询。SQL的架构如下图所示:

一些SQL命令

SQL命令用于创建和管理数据库。下面列出了最常用的SQL命令:

  1. CREATE命令
  2. UPDATE命令
  3. DELETE命令
  4. SELECT命令
  5. DROP命令
  6. INSERT命令

CREATE命令

该命令用于创建新数据库、新表、表视图和数据库中的其他对象。

UPDATE命令

该命令用于更新或更改数据库中存储的数据。

DELETE命令

该命令用于从数据库表中删除或清除已保存的记录。它可以从数据库的表中删除单个或多个元组。

SELECT命令

该命令用于访问数据库中一个或多个表的单个或多个行。我们还可以在使用WHERE子句的情况下使用该命令。

DROP命令

该命令用于从数据库中删除整个表、表视图和其他对象。

INSERT命令

该命令用于将数据或记录插入数据库表中。我们可以轻松地在表的单个行或多个行中插入记录。

SQL vs No-SQL

以下表格描述了SQL和NoSQL之间的差异,这些差异是必须了解的:

SQL No-SQL
1. SQL是关系型数据库管理系统。 1. No-SQL是非关系型或分布式数据库管理系统。
2. 此数据库系统中使用的查询语言是结构化查询语言。 2. No-SQL数据库系统使用的查询语言是非声明性查询语言。
3. SQL数据库的模式是预定义的,固定的和静态的。 3. No-SQL数据库的模式是用于非结构化数据的动态模式。
4. 这些数据库是垂直可扩展的。 4. 这些数据库是水平可扩展的。
5. SQL的数据库类型是以表的形式,即以行和列的形式。 5. No-SQL的数据库类型是以文档,键值和图形的形式。
6. 它遵循ACID模型。 6. 它遵循BASE模型。
7. 在SQL数据库中,复杂的查询很容易管理。 7. NoSQL数据库无法处理复杂的查询。
8. 这个数据库不是存储分层数据的最佳选择。 8. No-SQL数据库是存储分层数据的完美选择。
9. 所有SQL数据库都需要对象关系映射。 9. 许多No-SQL数据库不需要对象关系映射。
10. Gauges,CircleCI,Hootsuite等是使用此查询语言的顶级企业。 10. Airbnb,Uber和Kickstarter是使用此查询语言的顶级企业。
11. SQLite,Ms-SQL,Oracle,PostgreSQL和MySQL是SQL数据库系统的示例。 11. Redis,MongoDB,Hbase,BigTable,CouchDB和Cassandra是NoSQL数据库系统的示例。

SQL的优势

SQL提供了各种优势,使其在数据科学领域更受欢迎。它是一种完美的查询语言,允许数据专业人员和用户与数据库进行通信。以下是结构化查询语言的最佳优势或好处:

1. 无需编程

SQL不需要大量的编程代码来管理数据库系统。我们可以通过使用简单的SQL语法规则轻松访问和维护数据库。这些简单的规则使得SQL易于使用。

2. 高速查询处理

通过使用SQL查询,可以快速高效地从数据库中访问大量数据。对数据的插入、删除和更新操作也可以在更短的时间内完成。

3. 标准化语言

SQL遵循ISO和ANSI的长期标准,为全球所有用户提供了一个统一的平台。

4. 可移植性

结构化查询语言可以轻松地在台式电脑、笔记本电脑、平板电脑甚至智能手机上使用。根据用户的需求,还可以与其他应用程序一起使用。

5. 交互式语言

我们可以轻松学习和理解SQL语言。我们还可以使用这种语言与数据库进行通信,因为它是一种简单的查询语言。这种语言还用于在几秒钟内获得复杂查询的答案。

6. 多个数据视图

SQL语言还有助于为不同的数据库用户创建多个数据库结构视图。

SQL的劣势

除了优点之外,SQL还有一些劣势,如下所示:

1. 成本

一些SQL版本的运营成本很高。这就是为什么一些程序员无法使用结构化查询语言的原因。

2. 接口复杂

另一个大问题是结构化查询语言的接口复杂,这使得SQL用户难以使用和管理。

3. 部分数据库控制

业务规则是隐藏的。因此,使用这种查询语言的数据专业人员和用户无法完全控制数据库。

本文链接:http://so.lmcjl.com/news/218/

展开阅读全文