Perl 中使用 SQLite 数据库145
SQLite 是一个跨平台的、轻量级的嵌入式关系数据库引擎。它具有占用资源少、速度快、可移植性强等优点。在 Perl 中使用 SQLite 很方便,可以轻松地进行数据库操作。
安装 SQLite
在 Perl 中使用 SQLite 之前,需要先安装 SQLite 模块。可以使用以下命令进行安装:```
cpan install DBD::SQLite
```
连接到数据库
连接到数据库可以使用以下代码:```perl
use DBI;
my $dsn = "DBI:SQLite:dbname=";
my $dbh = DBI->connect($dsn, $user, $password);
```
其中,$dsn 是数据源名称,指定了数据库文件的路径。$user 和 $password 是可选的用户名和密码。
创建表
创建表可以使用 CREATE TABLE 语句:```perl
my $sth = $dbh->prepare("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)");
$sth->execute();
```
其中,id 字段是主键,name 字段是文本字段,age 字段是整数字段。
插入数据
向表中插入数据可以使用 INSERT INTO 语句:```perl
my $sth = $dbh->prepare("INSERT INTO users (name, age) VALUES (?, ?)");
$sth->execute('John Doe', 30);
```
其中,? 是占位符,表示要插入的值。
查询数据
查询数据可以使用 SELECT 语句:```perl
my $sth = $dbh->prepare("SELECT * FROM users WHERE name = ?");
$sth->execute('John Doe');
while (my $row = $sth->fetchrow_hashref) {
print "ID: ", $row->{id}, "\t";
print "Name: ", $row->{name}, "\t";
print "Age: ", $row->{age}, "";
}
```
其中,$sth->fetchrow_hashref 将查询结果以哈希引用形式返回。
更新数据
更新数据可以使用 UPDATE 语句:```perl
my $sth = $dbh->prepare("UPDATE users SET age = ? WHERE name = ?");
$sth->execute(31, 'John Doe');
```
其中,? 是占位符,表示要更新的值。
删除数据
删除数据可以使用 DELETE 语句:```perl
my $sth = $dbh->prepare("DELETE FROM users WHERE name = ?");
$sth->execute('John Doe');
```
关闭连接
使用完数据库后,应关闭连接:```perl
$sth->finish;
$dbh->disconnect;
```
示例程序
以下是一个完整的示例程序,演示了如何使用 Perl 中的 SQLite:```perl
#!/usr/bin/perl
use DBI;
my $dsn = "DBI:SQLite:dbname=";
my $dbh = DBI->connect($dsn);
# 创建表
my $sth = $dbh->prepare("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)");
$sth->execute();
# 插入数据
$sth = $dbh->prepare("INSERT INTO users (name, age) VALUES (?, ?)");
$sth->execute('John Doe', 30);
# 查询数据
$sth = $dbh->prepare("SELECT * FROM users WHERE name = ?");
$sth->execute('John Doe');
while (my $row = $sth->fetchrow_hashref) {
print "ID: ", $row->{id}, "\t";
print "Name: ", $row->{name}, "\t";
print "Age: ", $row->{age}, "";
}
# 更新数据
$sth = $dbh->prepare("UPDATE users SET age = 31 WHERE name = 'John Doe'");
$sth->execute();
# 删除数据
$sth = $dbh->prepare("DELETE FROM users WHERE name = 'John Doe'");
$sth->execute();
# 关闭连接
$sth->finish;
$dbh->disconnect;
```
在 Perl 中使用 SQLite 非常方便,可以轻松地进行数据库操作。SQLite 的轻量级和跨平台特性使其成为小型项目或嵌入式系统的理想选择。
2024-12-10
下一篇:Perl 在中国的发展历程
JavaScript 字符串截取神器:深入解析 substring(),兼谈与 slice()、substr() 的异同
https://jb123.cn/javascript/72646.html
告别硬编码!用脚本语言打造灵活高效的Web参数配置之道
https://jb123.cn/jiaobenyuyan/72645.html
JavaScript数字键盘事件:精准捕获与优雅控制,提升用户体验的秘密武器!
https://jb123.cn/javascript/72644.html
后端利器大盘点:选择最适合你的服务器脚本语言!
https://jb123.cn/jiaobenyuyan/72643.html
Python学习之路:从入门到精通,经典书籍助你进阶!
https://jb123.cn/python/72642.html
热门文章
深入解读 Perl 中的引用类型
https://jb123.cn/perl/20609.html
高阶 Perl 中的进阶用法
https://jb123.cn/perl/12757.html
Perl 的模块化编程
https://jb123.cn/perl/22248.html
如何使用 Perl 有效去除字符串中的空格
https://jb123.cn/perl/10500.html
如何使用 Perl 处理容错
https://jb123.cn/perl/24329.html