今天学习perl脚本语言,听说很强大!
安装环境:linuxfc6, mysql, perl, perl-DBI, perl-DBD-mysql等库。
1、perl连接mysql
#!/bin/perl -w
use DBI;
//insert or update
my $rows = $dbh->do("INSERT INTO users (id, username, country) VALUES (4, 'jay', 'CZ')");# Connect to target DB
my $dbh = DBI->connect("DBI:mysql:database=hrnm;host=127.0.0.1","dagun","123456", {'RaiseError' => 1});
//
# query
my $sqr = $dbh->prepare("select ip from hosts where host='mysql'");
$sqr->execute();
while(my $ref = $sqr->fetchrow_hashref()) {
print "$ref->{'ip'}\n";
}
$dbh->disconnect();
注意:如果上面127.0.0.1改为localhost,会有mysql.sock找不到提示。
四步骤:
- 开始,通过调用connect() 方法初始化数据库的句柄。connect() 方法接收连接参数并作为字符串,包括数据库类型("mysql"),主机名称("localhost"),以及数据库名称("hrnm")。用户名称("dagun")和密码("123456")作为第二和第三个变量提供给connect() 方法。
- 建立SQL查询字符串,并使用do()或prepare()以及execute()方法执行查询语句。
- do()方法是针对于一次性使用的INSERT,UPDATE或者DELETE查询,但prepare()和execute()方法针对的是SELECT查询。使用这些方法得到的对象将有所不同,这取决于查询的类型,查询结果是否成功也是如此。成功的SELECT查询将返回一个结果对象,成功的INSERT/UPDATE/DELETE 查询将返回一些相关的行。而不成功的查询将返回一个错误。
- 对于SELECT查询,结果对象将被进一步处理以提取数据。
- 使用一个循环,fetchrow_hashref()方法将返回每一记录作为Perl的信号。
- 通过调用disconnect()方法结束会话。
2、时间函数
localtime使用
2.1. 一般使用:
@nowtime=localtime();
#($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
注意$mon+1,$year+1900;2.2
如果要把时间保存在数据库中,可以先将其保存为字符串,然后读出时对字符串再处理。
@nowtime=localtime();
$nowstring=join(',',@nowtime);
将$nowstring保存;
读取的时候
@nowtime=split(',',$nowstring);3、
阅读(1048) | 评论(0) | 转发(0) |