要執行SQL文件,可以使用Perl的數據庫模塊DBI和DBD::mysql。
首先,你需要安裝DBI和DBD::mysql模塊。你可以使用CPAN或者命令行工具安裝它們。
然后,你可以使用Perl的DBI模塊連接到數據庫。以下是一個示例代碼:
use DBI;
my $dsn = "DBI:mysql:database=DB_NAME;host=HOST_NAME;port=PORT";
my $user = "USERNAME";
my $password = "PASSWORD";
my $dbh = DBI->connect($dsn, $user, $password) or die "Unable to connect: $DBI::errstr";
# 設置自動提交模式
$dbh->{"AutoCommit"} = 1;
# 讀取SQL文件
my $sql_file = "path/to/sql/file.sql";
open my $fh, "<", $sql_file or die "Unable to open file: $sql_file ($!)";
# 執行SQL語句
local $/ = ";"; # 以分號作為SQL語句的分隔符
while (my $sql = <$fh>) {
$dbh->do($sql) or die "Unable to execute SQL: $sql ($dbh->errstr)";
}
close $fh;
$dbh->disconnect;
在上面的代碼中,你需要將DB_NAME、HOST_NAME、PORT、USERNAME和PASSWORD替換為實際的數據庫連接信息。然后,將$sql_file
替換為你要執行的SQL文件的路徑。
代碼中的$dbh->do($sql)
語句用于執行SQL語句。腳本會連續執行SQL文件中的所有語句,每個語句以分號作為分隔符。
請注意,這個示例代碼假設你正在連接到MySQL數據庫。如果你連接的是其他類型的數據庫,你需要相應地修改DSN字符串。