mysql - 如何计算文本文件中SQL语句的数量?

标签 mysql sql parsing

我的程序从 SQL 文件恢复 MySQL 数据库。如果我想在我的程序中显示 SQL 执行的进度,我需要知道文件中 SQL 语句的数量。我怎样才能在 MySQL 中做到这一点? (查询可能包含 mysql 特定的多行插入语句)

我可以使用 MySQL 命令行工具或 Python API。也欢迎您发布其他 DBMS 的解决方案。

最佳答案

简单(容易)的方法:将 PRINT 语句添加到您的 SQL 脚本文件,显示进程消息。

优点(除了显而易见的“难以解析多语句结构”之外)是您可以精确控制进度。例如,某些语句的运行时间可能比其他语句长得多,因此您需要对它们进行加权。

我不会考虑执行的语句数量方面的进展。我所做的是打印出特定任务已经开始和完成的反馈,例如“同步表‘blah’”、“更新存储过程 X”等

关于mysql - 如何计算文本文件中SQL语句的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5839406/

相关文章:

php - 使用多个 SQL 调用插入大型 CSV 太慢

php - 如何在 Fullcalendar 中保存事件?

sql - 游标的替代品

mysql - 在mysql中显示函数定义

c - 在 c 中使用将作为字符串给出的版本号解析为 4 个不同的整数

php - MySQL选择两列之间的范围日期

php - 没有从数据库获取数据

解析 Haskell 自定义数据类型

java - 解析包含多种分隔符的文本文件的最佳方法?

mysql - 从sql查询中排除第一个和最后一个结果