Perlを使用してSQLファイルをどのように実行するか

DBIとDBD::mysqlを使うことで、PerlからSQLファイルを簡単に実行できます。

まず、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 ファイルのパスに置き換えてください。

SQL文を実行するためにスクリプト内の`$dbh->do($sql)`ステートメントが使われます. スクリプトはSQLファイル内のすべてのステートメントを連続して実行し、各ステートメントはセミコロンで区切られます.

このサンプルコードは、MySQLデータベースへ接続することを想定している点に注意してください。他のタイプのデータベースへ接続する場合は、DSN文字列を適切に変更する必要があります。

bannerAds