批处理导入mysql中文表名

2023年 8月 4日 85.2k 0

批处理导入MySQL中文表名的方法

批处理导入mysql中文表名

在MySQL中,表名是不支持中文的,但是我们可以通过批处理的方式将中文表名的数据导入到MySQL中。

以下是实现的步骤:

1. 创建一个以UTF-8编码的CSV文件,文件名可以是中文。
2. 使用Excel或者其他编辑器打开CSV文件,并将表格的编码设置为UTF-8。
3. 将数据填入表格中,每一列的第一行为该列的字段名。
4. 将CSV文件保存,保证文件名和文件中的数据都是以UTF-8编码保存的。

接下来,通过批处理将数据导入到MySQL中:

@echo off
setlocal
set mysql=mysql.exe
set host=127.0.0.1
set user=root
set password=
set database=test
set table=中文表名
set csvfile=中文文件名.csv
set sql="load data local infile '%csvfile%' into TABLE `%table%` CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY 'rn' IGNORE 1 LINES"
%mysql% -h %host% -u %user% -p%password% -D %database% -e %sql%
if ERRORLEVEL 1 (
echo Error when trying to import %csvfile%. >&2
exit /b 1
)
echo Import successful.
exit /b 0

一些需要注意的事项:

  • 确保数据库中已经创建了相应的表,并且表的字段和CSV文件中的字段一一对应。
  • CSV文件的路径为相对路径,即相对于批处理文件的路径。
  • 关于SQL语句中的一些参数的解释:
    • CHARACTER SET utf8:设置导入数据的编码。
    • FIELDS TERMINATED BY ',':指定各个字段之间的分隔符,这里是逗号。
    • OPTIONALLY ENCLOSED BY '"':如果某个字段的值中包含分隔符,在导入时会用双引号将其括起来。
    • LINES TERMINATED BY 'rn':指定每行数据的结束符,这里是换行符。
    • IGNORE 1 LINES:指定在CSV文件中跳过第一行,也就是字段名行。

通过这种方法,我们就可以将中文表名的数据成功导入到MySQL中了。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论