Perl 数据库连接学习笔记
在 Perl 中,我们可以使用 DBI(Database Interface)模块来连接并操作数据库。DBI 提供了一个通用的接口,使得我们能够以相同的方式访问不同类型的数据库。
连接到数据库
首先,我们需要安装 DBI 模块和相应的数据库驱动程序。然后,我们可以使用以下代码来连接到数据库:
perlCopy Codeuse DBI;
my $driver = "mysql";
my $database = "test";
my $hostname = "localhost";
my $port = "3306";
my $username = "root";
my $password = "";
my $dsn = "DBI:$driver:database=$database;host=$hostname;port=$port";
my $dbh = DBI->connect($dsn, $username, $password) or die $DBI::errstr;
在这个例子中,我们使用了 MySQL 数据库,并连接到了本地主机上的 test 数据库。要连接到其他类型的数据库,只需要更改 $driver 变量即可。
执行 SQL 查询
连接成功后,我们可以使用 $dbh 句柄来执行 SQL 查询。以下是一个简单的例子,演示了如何从表中检索数据:
perlCopy Codemy $stmt = $dbh->prepare("SELECT * FROM students");
$stmt->execute();
while(my $row = $stmt->fetchrow_hashref) {
print "ID: $row->{id}, Name: $row->{name}, Age: $row->{age}\n";
}
此代码将检索名为 students 的表中的所有行,并将它们打印到控制台上。
插入数据
要插入新数据,我们可以使用以下代码:
perlCopy Codemy $stmt = $dbh->prepare("INSERT INTO students (name, age) VALUES (?, ?)");
$stmt->execute("John Doe", 25);
这将在名为 students 的表中插入一行,其中包含名称为 John Doe,年龄为 25 的新学生。
更新数据
如果您需要更新现有行,则可以使用以下代码:
perlCopy Codemy $stmt = $dbh->prepare("UPDATE students SET age = ? WHERE id = ?");
$stmt->execute(30, 1);
此代码将更新 ID 为 1 的学生的年龄为 30。
删除数据
最后,我们可以使用以下代码来删除现有数据:
perlCopy Codemy $stmt = $dbh->prepare("DELETE FROM students WHERE id = ?");
$stmt->execute(1);
此代码将删除 ID 为 1 的学生的记录。
以上就是 Perl 数据库连接的基本操作。使用 DBI 模块,您可以轻松地连接和操作各种类型的数据库。