Perl 数据库连接学习笔记

在 Perl 中,我们可以使用 DBI(Database Interface)模块来连接并操作数据库。DBI 提供了一个通用的接口,使得我们能够以相同的方式访问不同类型的数据库。

连接到数据库

首先,我们需要安装 DBI 模块和相应的数据库驱动程序。然后,我们可以使用以下代码来连接到数据库:

perlCopy Code
use 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 Code
my $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 Code
my $stmt = $dbh->prepare("INSERT INTO students (name, age) VALUES (?, ?)"); $stmt->execute("John Doe", 25);

这将在名为 students 的表中插入一行,其中包含名称为 John Doe,年龄为 25 的新学生。

更新数据

如果您需要更新现有行,则可以使用以下代码:

perlCopy Code
my $stmt = $dbh->prepare("UPDATE students SET age = ? WHERE id = ?"); $stmt->execute(30, 1);

此代码将更新 ID 为 1 的学生的年龄为 30。

删除数据

最后,我们可以使用以下代码来删除现有数据:

perlCopy Code
my $stmt = $dbh->prepare("DELETE FROM students WHERE id = ?"); $stmt->execute(1);

此代码将删除 ID 为 1 的学生的记录。

以上就是 Perl 数据库连接的基本操作。使用 DBI 模块,您可以轻松地连接和操作各种类型的数据库。