结构化查询语言(SQL)

一种专门设计用于与数据库交互的编程语言

什么是结构化查询语言(SQL)?

结构化查询语言(SQL)是一种专门设计用于与数据库交互的编程语言。SQL允许我们执行三个主要任务:

  1. 定义数据库的范围
  2. 添加、删除或修改数据库中的数据
  3. 从数据库中读取数据

结构化查询语言(SQL)

SQL的构建模块

现代SQL由三种主要的查询语言组成。每种语言都对应于上面描述的功能或任务。这三者结合起来形成了一种功能完备的语言,允许用户在关系数据库上执行所有可能的功能。

  • 模式: SchemaQL (Schema Query Language)用于创建表和定义表之间的关系。SchemaQL最常见的例子是' CREATE TABLE '语句。
  • 办理: Transact SQL提供插入、更新和删除存储在关系数据库中的数据的能力。
  • 数据:数据查询语言是用来与存储数据进行交互的部分。这样用户就可以查询数据,进行数据分析的任务。

常用SQL语句

下面是常用的SQL命令列表,这些命令可用于创建表、插入数据、更改表的结构和查询数据。

定义和创建表

创建

CREATE语句用于在数据库中创建表。语句可以在表中定义字段名和字段数据类型。CREATE语句还用于使用主键约束定义表的唯一标识。它还用于通过定义外键来描述表之间的关系。

模板:

CREATE TABLE [tableName] (

Column_1 Datatype1,

Column_2 Datatype2 . .

);

改变

ALTER语句用于更改数据库中表的结构。该语句可用于创建新列或更改现有列的数据类型。

模板:

ALTER TABLE[表名]

添加Column_1, Datatype_1

下降

DROP语句用于从数据库中删除一个表。必须谨慎使用,因为删除是不可逆的。

模板:

DROP TABLE [tableName]

添加、修改和删除数据

插入

INSERT语句用于向表中添加记录或行。首先定义要插入记录的表的名称。然后,定义表中的列名。最后,定义要插入到这些列中的记录值。

模板:

INSERT INTO [tableName] (Field_1,…,Field_N)

值(Value_N Value_1…)

更新

UPDATE语句用于修改表中的记录。该语句更改表中已定义列中保存的指定记录子集的值。在更新记录时,使用WHERE子句筛选行是一个很好的实践。否则,UPDATE语句将更改所有记录。

模板:

更新(表)

SET Column_1 = Value_1,…,Column_N = Value_N,

WHERE[过滤条件]

删除

DELETE语句用于根据使用WHERE子句定义的条件从表中删除行。该语句应谨慎使用,因为数据库中的所有删除都是永久的。如果使用DELETE语句出错,则需要从备份恢复数据库。

模板:

删除[tableName]

WHERE[过滤条件]

数据提取与分析

选择

SELECT语句是SQL中最常用的语句之一。它用于从数据库中的一个或多个表中选择行。SELECT语句通常与WHERE子句一起使用,根据用户定义的标准返回记录的子集。SELECT语句用于执行大多数数据分析任务,因为它允许用户从数据库中提取和转换所需的记录。

模板:

对于特定列:

SELECT Column_1,…,Column_K FROM[表名]

WHERE[过滤条件]

对于所有列:

SELECT * FROM [tableName]

WHERE[过滤条件]

建立财务数据库

在下面的示例中,我们将使用上面讨论的一些SQL语句创建一个包含定价和基本数据的金融数据库。Microsoft Access是一种可访问的工具,可用于在Microsoft Office生态系统中构建关系数据库。

首先,我们使用CREATE语句定义表的结构。我们的表将有以下列和数据类型:

  • ID:输入到表中的每条记录的唯一标识符(INTEGER)
  • 公司名称:公司名称(TEXT)
  • 股票行情自动收录器:公司股票行情自动收录器用于在交易所识别公司股票(TEXT)
  • 价格:该股票的最新收盘价(FLOAT)
  • 体育比:股票的市盈率(FLOAT)

我们可以按照上面描述的模板来编写CREATE语句。下面的语句创建表:

创建表priceTable (

ID的整数,

公司名称的文本(100),

股票行情自动收录器文本(20),

价格浮动,

peRatio浮动

);

接下来,使用insert语句将一些记录插入到表中。下面是在表中插入行的两个示例。

INSERT INTO priceTable (ID, [companyName], [ticker], [price], [peRatio])

VALUES(5, "沃尔玛"," WMT ", 138,26);

INSERT INTO priceTable (ID, [companyName], [ticker], [price], [peRatio])

VALUES(6,“通用汽车公司”,“通用”,60 11);

假设我们想分析数据库中的股票。我们想要分析目前最有价值的股票。我们可以把价值股票定义为市盈率不到二十岁。它是使用一个带有WHERE子句的SELECT语句完成的,如下所示:

SELECT * FROM priceTable WHERE operatio < 20;

该指令返回了三只股票:英特尔、福特和通用汽车。上面是一个简单的例子,但是拥有更多证券和基础数据的更大的数据库可以成为识别潜在投资的强大工具。

SELECT查询的结果
图1:SELECT查询的结果

SQL简史

结构化查询语言(SQL)最早出现在1970年的一篇论文中,由Edgar F. Codd撰写的“大型共享数据库的关系数据模型”。Codd引入了关系代数,用于定义数据表之间的关系。它是SQL的理论基础。SQL的第一个实现是由IBM的两位研究人员Donald Chamberlin和Raymond Boyce开发的。

额外的资源

通过CFI了解更多关于结构化查询语言的知识SQL基础知识课程。为了不断学习和发展你的知识,我们强烈推荐以下额外的资源:

0个搜索结果