java - 使用 Java 从 .sql 文件中提取 SQL 命令

标签 java sql

我需要使用 java 从 .sql 文件获取 SQL 命令。

该文件包含开头带有“--”的行,因此理想情况下它会忽略这些行。

我研究过使用 .useDelimiter("(;(\r)?\n)|(--\n)");

我需要使用 while 循环来读取文件并查找 SQL 命令并在找到它们时执行它们。我看过的例子似乎不是很有效。

对此的任何帮助将不胜感激:)

最佳答案

你确定你真的想要这个吗?使用数据库特定的命令行实用程序运行此脚本要容易得多。

例如,对于 MySql,命令行是 mysql -uUSER -pPASSWORD < a.sql 它简单、快速并且 100% 有效。如果你想从 java 运行它,请使用 Runtime.getRuntime().exec()ProcessBuilder .

逐行读取SQL文件并忽略注释(使用正则表达式 '^--' 或 line.startsWith("--") 都不是问题。找到每个SQL语句的开头和结尾是一个问题.而且你不能单独运行脚本中的语句。SQL支持变量。一个语句可以定义变量,其他语句可以使用它。另请参阅@Matt Fenwick写的内容。

关于java - 使用 Java 从 .sql 文件中提取 SQL 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969597/

相关文章:

sql - 使用 OVER 子句和 PARTITION BY 子句与计数器计算运行总和

mysql - 使用联结表的查询交集

Java:对 Button 使用 setText() 方法时出现问题

javascript - 自动重命名文件夹 alfresco

java - Gson最新版本中用什么来替换StringMap

php - 从大 table 中找到匹配项的最佳方法

sql - 将组合框值传递到 MS Access 中的 SQL 查询

sql - 将 NVARCHAR 转换为货币值

java - 在 Android 应用程序中使用下载的 Java 类文件

Java:如何使用扫描仪加载文件?