MySQL就不用多介绍了,最著名的开源关系型数据库。
Perl的优势之一就是已经有了很多库,用于处理领域问题,比如说CGI,HTML,XML等模块。
对于MySQL自然也有专门的开发库,就是DBI。
用DBI连接到数据库一般分为五个步骤:1.连接到数据库 2.准备一条语句 3.执行该语句 4.获取结果 5.断开连接
1.连接到数据库
DBI->connect('DBI:mysql:sample_db','root')
2.准备一条语句
$db->prepare("SELECT * FROM coaches");
3.执行语句
$sth->execute();
4.获取结果
$sth->fetchrow_array();
$sth->fetchrow_hashref();
5.断开连接
$sth->finish();
$dbh->disconnect();
当DBI准备一条查询语句时,数据库必须计划好如何才能最优的处理该请求。这里可以用 占位符? 来优化查询。
占位符会为查询提供一套表示值的模板,这些值将在以后的某个时刻才赋予相应的字段。它们主要用于SELECT
INSERT,UPDATE,DELETE语句。
$sth=$dbh->prepare("SELECT name,wins,losses FROM teams WHERE name = ? ");
$sth=$dbh->prepare("INSERT INTO teams(name,wins,losses VALUES(?,?,?))");
另一种方便而高效的使用占位符的途径是bind_param()方法。占位符会告诉数据库:由?表示的值将在晚些时候
予以填入。