- 文档首页
云数据库 TiDB 版
用户指南
数据管理
导入数据
导入本地 CSV 文件
导入本地 CSV 文件
本文介绍如何将本地 CSV 文件导入数据至云数据库 TiDB 版。
如果您有 SQL、CSV 或 Parquet 格式的数据文件,您可以选择适合的方法将这些文件导入到云数据库 TiDB 版。具体的导入场景和方法如下:
- 您可以将本地 CSV 文件导入到云数据库 TiDB 版。
- 支持将 CSV 、Parquet、SQL 文件从火山引擎 TOS 导入到云数据库 TiDB 版。
- 单次导入任务仅允许上传一个大小不超过 250 MiB 的本地 CSV 文件。
- 成功上传本地文件后,在导入本地数据页面,选择目标数据库和目标表,或直接输入名称以创建新数据库或新表。
说明
新数据库和新表名称需符合以下命名规则:
- 只能包含 Unicode BMP(基本多文种平面)中的字符。
- 单击定义表,在表定义区域检查数据表字段列表。如需修改配置,可按照下方导入到已有表、导入到新建表的对应步骤操作。
说明
- 若将数据导入至已有表时,系统会读取表结构获取字段列表,预览数据将按列名映射到对应的列。
- 若将数据导入至新建表时,系统会从 CSV 文件表头提取字段列表,列类型由云数据库 TiDB 版自动推断。例如,如果预览数据全为整数,则推断的列类型为整数。
- 配置列名。如果 CSV 文件的第一行记录了列名,请保持开启忽略第一行开关(默认开启);如果 CSV 文件没有列名行,所有行都为业务数据,请关闭忽略第一行开关。
- CSV 文件中的列会按顺序导入到目标表。多余的列会被截断,缺失的列会用默认值填充。
说明
CSV 文件列数少于目标表列数时,处理规则如下:
- 缺失列不是主键或唯一键,不会报错,会被填充为其默认值。
- 缺失列是主键或唯一键,且没有 auto_increment 或 auto_random 属性,则会报错。此时建议选择以下策略之一:
- 修改目标表的主键和唯一键列,使其与源文件中的现有列匹配。
- 将主键或唯一键列的属性设置为 auto_increment 或 auto_random。
- 配置数据类型。单击数据类型下拉列表,根据您的需要更改数据类型。
- (可选)编辑 CSV 配置。您可以单击编辑 CSV 配置,对反斜杠转义、分隔符和定界符等进行更细致的配置。关于 CSV 配置的更多信息,请参见导入数据的 CSV 配置。
- 配置列名。如果 CSV 文件的第一行记录了列名,请保持开启使用第一行作为列名开关(默认开启);如果 CSV 文件没有列名行,请关闭使用第一行作为列名开关,并依次为每一列设置名称。列名需满足以下要求:
- 配置数据类型。单击数据类型下拉列表,根据您的需要更改数据类型。
- 若导入到新建表,可以设置主键。您可以选择某一列作为主键,或选择多列创建复合主键。复合主键会按照您选择列名的顺序组成。
- (可选)编辑 CSV 配置。您可以单击编辑 CSV 配置,对反斜杠转义、分隔符和定界符等进行更细致的配置。关于 CSV 配置的更多信息,请参见导入数据的 CSV 配置。
- 单击开始导入,即可开始导入数据。在弹出的导入任务详情页面可查看导入进度;也可单击操作列的 ... > 查看,进行查看导入进度。
说明
当任务状态由准备中变为已完成时,表示导入任务完成。
您可以使用 split [-l ${line_count}] 工具将其拆分为多个小文件(仅适用于 Linux 或 macOS)。例如,运行 split -l 100000 tidb-01.csv small_files,即可按行数 100000 拆分名为 tidb-01.csv 的文件,拆分后的文件名为 small_files${suffix}。然后,您可以将这些小文件逐个导入云数据库 TiDB 版。
参考如下脚本:
您可以输入 n 和文件名,然后运行该脚本。脚本会将文件平均分为 n 份,并保留原有文件扩展名。例如:
最近更新时间:2026.08.20 16:11:46