perl连接SQLite

需要安装DBD::sqlite模块

[root@localhost ~]# cat create_db.pl 

#!/usr/bin/perl -w
use strict;

use DBI;

my $db_file="data.db";
#建立连接
my $dbh = DBI->connect("dbi:sqlite:dbname=$db_file","","");

#建表
$dbh->do("CREATE TABLE users(
username varchar(255),password varchar(100),born date,test1 date,test2 varchar(500),test3 varchar(500),urlt varchar(500))"); 

#建索引 

$dbh->do("CREATE INDEX idx_name_users ON users(username)");
#插入数据
my $sth = $dbh->prepare(q{INSERT INTO users VALUES (?,?,?)});

foreach my $i (1,2,3,4){
$sth->bind_param(1,"ssss$i");
$sth->bind_param(2,"passwd");
$sth->bind_param(3,20090102);
$sth->bind_param(4,20090102);
$sth->bind_param(5,"none");
$sth->bind_param(6,"none");
$sth->bind_param(7,"http://www.supersun.biz");
$sth->execute or die $dbh->errstr;
}

$dbh->disconnect; 


 

查询数据

[root@localhost ~]# cat db_view.pl 


#!/usr/bin/perl -w
use strict;

use DBI;

my $db_file="data.db";

my $dbh = DBI->connect("dbi:sqlite:dbname=$db_file","");

my $ary_ref=$dbh->selectall_arrayref(q{SELECT * FROM users});
foreach my $entry (@$ary_ref){
print "@$entry\n";
}

$dbh->disconnect;
[root@localhost ~]# perl db_view.pl 
ssss1 passwd 20090102 20090102 none none http://www.supersun.biz
ssss2 passwd 20090102 20090102 none none http://www.supersun.biz
ssss3 passwd 20090102 20090102 none none http://www.supersun.biz
ssss4 passwd 20090102 20090102 none none http://www.supersun.biz

 

参考链接:http://updatedb.blog.hexun.com/7069108_d.html 

http://search.cpan.org/~msergeant/DBD-sqlite-1.13/lib/DBD/sqlite.pm

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...