请问一个.sql文件批量导入问题

我在批量导入某文件夹下的.sql文件时,系统报错如下:


mysql> us test
    -> source C:\sip\main.sql
--------------
mysql  Ver 14.14 Distrib 5.7.43, for Win64 (x86_64)

Connection id:          43
Current database:
Current user:           root@localhost
SSL:                    Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
Using delimiter:        ;
Server version:         5.7.43-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 37 min 51 sec

Threads: 3  Questions: 548186  Slow queries: 0  Opens: 181  Flush tables: 1  Open tables: 174  Queries per second avg: 241.385
--------------

ERROR:
Unknown command '\m'.
    ->

main.sql文件每一行都是类似source C:\sip\001.sql的语句,请问这个问题出在哪?如何解决?谢谢

你把sql 文件贴出来

首先执行 mysql 的命令,必须以 英文分号 结尾,其次进入到某一个数据库用的是 use ,不是us。
小建议:在使用source命令的时候,建议使用mysql登录服务器端在位置和sql文件的路径一样,这样就可以直接用source sql文件即可。

mysql> use test ;
mysql> source C:\sip\main.sql ;

可能main.sql文件有问题

【以下回答由 GPT 生成】

这个问题的报错信息显示是在执行 source C:\sip\main.sql 语句时出现了错误。报错信息显示 ERROR: Unknown command '\m',说明命令中包含了无法识别的 \m 命令。

解决这个问题的思路是针对 main.sql 文件中每一行的 source 命令进行解析和执行,而不是直接将整个文件作为一个命令传递给 MySQL。

以下是一个可能的解决方案,使用 Python 编写脚本来读取 main.sql 文件并执行其中的 source 命令。请确保您已经在系统中安装了 Python。

步骤1:创建一个 Python 脚本

首先,打开文本编辑器,创建一个新的 Python 脚本文件,例如 import_sql.py

步骤2:导入必要的模块

在脚本的开头部分,导入必要的模块。

import os
import subprocess

步骤3:定义函数来执行 SQL 文件

接下来,定义一个函数来执行 SQL 文件。

def execute_sql_file(file_path):
    with open(file_path, 'r') as sql_file:
        sql_statements = sql_file.read().split(';')

    for statement in sql_statements:
        if statement.strip():
            subprocess.call(['mysql', '-uroot', '-p', '-e', statement.strip()])

这个函数会将 SQL 文件读取为一个字符串,并以分号 ; 作为分隔符将其拆分为多个 SQL 语句。然后,使用 subprocess.call 函数调用 MySQL 命令行工具执行每个 SQL 语句。

步骤4:调用函数来执行 main.sql 文件

在脚本的主体部分,调用上述函数来执行 main.sql 文件。

main_sql_path = r'C:\sip\main.sql'
execute_sql_file(main_sql_path)

请将 r'C:\sip\main.sql' 替换为实际的 main.sql 文件路径。

步骤5:保存并运行脚本

保存脚本文件后,将其保存在与 main.sql 文件相同的目录中。然后,打开命令提示符或终端窗口,导航到脚本文件所在的目录,并运行以下命令来执行脚本:

python import_sql.py

脚本会读取 main.sql 文件,并逐个执行其中的 SQL 语句。

这个解决方案假设您的系统中已经正确安装了 MySQL,并且 mysql 命令行工具已添加到系统的 PATH 环境变量中。如果您的环境不同,请相应地调整代码中的 MySQL 命令行工具路径。

希望这个解决方案对您有帮助!如果您有任何更多的问题,请随时向我提问。



【相关推荐】


  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/672805
  • 除此之外, 这篇博客: SQLDEV平台教学 - 权限配置中的 点击顶部导航“应用管理”,在下拉菜单中选择“资产管理”,点击左侧“数据源”,点击右侧切换视图按钮,切换到表格视图。 部分也许能够解决你的问题。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^