# SQL 参考

# 什么是 SQL?

结构化查询语言(SQL)是一种用于存储和操作关系数据库中信息的编程语言。关系数据库以表格形式存储信息,其中行和列表示不同数据属性和值之间的各种关系。

# SQL 可以解决哪些问题?

使用 SQL,您可以执行各种操作,例如从数据库检索数据,将数据插入表中,更新数据,删除数据等等。

SQL 可以解决许多问题,包括:

  • 数据存储和检索:SQL 可用于创建和管理用于存储和检索数据的数据库表。
  • 数据分析:SQL 可帮助用户通过聚合、过滤和排序数据来进行数据分析。
  • 数据库管理:SQL 可用于管理数据库本身,例如创建和删除数据库,备份和恢复数据,控制用户访问等等。
  • 数据库安全性:SQL 提供了用户身份验证和授权等功能,可以帮助保护数据库中的敏感信息。

SQL 是管理、存储、检索和分析结构化数据的强大工具。然而,在人工智能和机器学习时代,越来越需要分析非结构化数据,如图像、视频、文本、语音和蛋白质。这些类型的数据通常以嵌入向量的形式表示,对象之间的语义和相似性通过它们的嵌入向量之间的相似性来捕捉。

为了满足这一需求,MyScale 扩展了 SQL 语句,以支持高性能分析高维向量,包括近似最近邻搜索,除了结构化数据之外。这种扩展极大地扩展了 SQL 数据库的范围,使其可以用于推荐引擎、搜索引擎和其他非结构化数据分析。

如果您想了解有关 MyScale 中向量检索操作的更多信息,请参阅向量搜索

# SQL 系统由哪些部分组成

关系数据库管理系统(RDBMS)使用结构化查询语言(SQL)来存储和管理数据。以下是这种系统的主要组成部分。

# SQL 表

SQL 表是以行和列组织的数据集合。表是 SQL 数据库中的基本存储单元。

例如,数据库工程师为商店中的图书创建了一个 SQL 表:

ID Name Classification Description Vector
0001 百年孤独 魔幻现实主义 《百年孤独》创造了一个前所未有的... [0.0208,0.0249,...,0.0862]
0002 时间简史:从大爆炸到黑洞 天文学科学 这是一本关于时间的书,你可以阅读和理解。里面有... [0.0562,0.0329,...,0.0359]

Vector 列是使用深度神经网络语言模型从 Description 文本列中提取的,它使我们能够对图书描述进行语义搜索。

# SQL 语句

SQL 语句或查询是用户用于操作关系数据库管理系统的指令。这些语句通常使用 SQL 解释器或查询工具执行,该工具将语句发送到数据库并接收结果。软件开发人员使用 SQL 语言元素来构建 SQL 语句,它们包括标识符、变量和搜索条件等组件。MyScale 是一个完整的 OLAP(联机分析处理)数据库,支持高性能的结构化和向量数据分析,支持大多数常用的 SQL 语句。

以下是常用的 SQL 语句。如果您想了解有关 SQL 语句的详细用法,请参阅这些文档 (opens new window)