---
title: "SQL数据库操作 - MetaEditor 帮助"
description: "MetaEditor提供了便于数据库操作的选项。这些功能都是以流行的 SQLite 引擎集成为基础而实现的。整个数据库都位于用户PC硬盘上的单个文件中。 编辑器可以访问使用数据库的主要功能，使您可以： 创建并连接数据库 查看表格并执行快速数据查询... - SQL数据库操作 - MetaEditor 帮助"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/zh/metaeditor/help/database"
---

[MetaEditor 帮助](https://www.metatrader5.com/zh/metaeditor/help) → SQL数据库操作

# SQL数据库操作

MetaEditor提供了便于数据库操作的选项。这些功能都是以流行的[SQLite](https://www.sqlite.org/index.html)引擎集成为基础而实现的。整个数据库都位于用户PC硬盘上的单个文件中。

编辑器可以访问使用数据库的主要功能，使您可以：

- 创建并连接数据库
- 查看表格并执行快速数据查询
- 创建并执行SQL查询，回滚更改

交易策略的发展与处理大量数据有关，这也是数据库广泛用于算法交易的原因。使用数据库可使您：

- 分析交易历史和报价
- 保存并分析优化和测试结果
- 准备并与其他分析组合交换数据
- 存储设置和MQL5程序状态

> MQL5语言支持直接从程序中[使用数据库的功能](https://www.mql5.com/ru/docs/database)。了解详情，请参阅文章“[SQLite：本地处理MQL5中的SQL数据库](https://www.mql5.com/ru/articles/7463)”。

## 创建数据库 [#](#create_database)

快速数据库创建功能可从MQL5向导中获得。您可以轻松创建第一个表格并定义它的字段。

![通过向导创建数据库](https://www.metatrader5.com/i/help/metaeditor/en/database_wizard.png)

以下字段类型可供使用：

- integer ― 整数值
- real ― 分数值
- text ― 字符串值
- blob ― 二进制数据数组

字段也可以用标识进行标记：

- primary ― 唯一用于识别表格内每条记录的主键。表格中只有一个字段可用作主键。此字段的值必须是唯一的。
- unique ― 包含值的字段，不能重复。尝试写入已经存在的值将导致错误。您可以将此标识用于必须具有唯一值的字段。例如，可以将其设置为用于单号的字段。

您还可以通过使用导航快捷菜单创建数据库：

- Create database（创建数据库） ― 创建选定格式的空数据库文件。默认情况下使用.db扩展名。
- Create from file（创建自文件）― 基于现有*.SQL数据库创建数据库。

创建数据库后，您将被重定向到相应的“导航”部分。所有数据操作均在此部分执行。

## 导入表格 [#](#import_table)

您可以基于现有CSV文件在数据库中创建表格。在数据库菜单中点击“导入表格”，选择一个文件并设置以下参数：

- 数据库中的表格名称。
- 自动或手动文件编码检测。
- 数据分隔符：逗号、分号、制表符或空格。
- 开始时跳过指定的行数。
- 评论前缀。
- 文件是否具有列名。如果启用此选项，则文件第一行中的值将导入为列名。
- 如何确定换行符：仅换行（LF，默认）或回车和换行(CRLF)字符。
- 数据应该添加到新表还是现有表中。
- 文件中哪些引号用于字符串：单引号或双引号。导入期间将删除引号。

![将准备好的表格导入数据库](https://www.metatrader5.com/i/help/metaeditor/en/database_import_table.png)

## 使用数据库 [#](#working)

导航为使用数据库提供一个单独的选项卡。在其快捷菜单或“文件”菜单中点击“打开”，然后选择数据库文件。相应的表格将出现在导航中。

双击表格名称，快速查询前1,000条记录。

![使用数据库](https://www.metatrader5.com/i/help/metaeditor/en/database.png)

要执行数据库查询，请在编辑器的右侧输入该查询，然后点击“执行”。如果出现查询错误，相应的消息则会添加到[日志](https://www.metatrader5.com/zh/metaeditor/help/workspace/toolbox#journal)中。创建表格的简单查询示例：

```
CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);
```

COMPANY字段包含5个字段：记录ID、名称、年龄、地址和薪资。ID字段用作密钥，即唯一索引。索引可以成为每个记录的唯一标识，可以在不同表格中使用，并将它们链接在一起。这类似于持仓ID链接与特定持仓相关的所有交易和订单的方式。

如果表格列包含自1970.01.01起以分钟（UNIX时间）、秒或微秒指定的时间数据，请左击该列，然后选择所需的格式。然后，时间将以常规格式YYYY.MM.DD hh:mm:ss显示。

要将表格另存为文件，请使用“SELECT * FROM [表格名称]”查询表格中的所有数据，然后在快捷菜单中点击“导出”。导出操作提供与[导入](https://www.metatrader5.com/zh/metaeditor/help/database#import_table)相同的表格选项。

## In this section

- [启动](https://www.metatrader5.com/zh/metaeditor/help/beginning/open)
- [设置](https://www.metatrader5.com/zh/metaeditor/help/beginning/settings)
- [与其它集成开发环境整合](https://www.metatrader5.com/zh/metaeditor/help/beginning/integration_ide)
- [主菜单](https://www.metatrader5.com/zh/metaeditor/help/main_menu)
- [工具栏](https://www.metatrader5.com/zh/metaeditor/help/toolbar)
- [工作区](https://www.metatrader5.com/zh/metaeditor/help/workspace)
- [项目和 MQL5 存储](https://www.metatrader5.com/zh/metaeditor/help/mql5storage)
- [MQL4/MQL5 向导](https://www.metatrader5.com/zh/metaeditor/help/mql5_wizard)
- [开发程序](https://www.metatrader5.com/zh/metaeditor/help/development)
- SQL数据库操作
- [使用机器学习模型](https://www.metatrader5.com/zh/metaeditor/help/machine_learning)
- [程序开发示例](https://www.metatrader5.com/zh/metaeditor/help/project_example)
- [MetaEditor 环境文件夹](https://www.metatrader5.com/zh/metaeditor/help/structure)
- [MQL5 社区: 交易者的社区](https://www.metatrader5.com/zh/metaeditor/help/mql5community)
- [内置帮助](https://www.metatrader5.com/zh/metaeditor/help/mql5_help)
- [有关开发交易应用程序的文章](https://www.metatrader5.com/zh/metaeditor/help/articles)
- [交易平台指南视频](https://www.metatrader5.com/zh/metaeditor/help/video_guides)

```json
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "item": {"@id": "https://www.metatrader5.com/zh/metaeditor/help", "name": "MetaEditor 帮助"}}, {"@type": "ListItem", "position": 2, "item": {"@id": "https://www.metatrader5.com/zh/metaeditor/help/database", "name": "SQL数据库操作"}} ]}
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "MetaTrader 5: SQL数据库操作", "acceptedAnswer": { "@type": "Answer", "text": "MetaEditor提供了便于数据库操作的选项。这些功能都是以流行的 SQLite 引擎集成为基础而实现的。整个数据库都位于用户PC硬盘上的单个文件中。 编辑器可以访问使用数据库的主要功能，使您可以： 创建并连接数据库 查看表格并执行快速数据查询 创建并执行SQL查询，回滚更改..." } }] }
```
