WEB开发网
开发学院数据库MySQL Mysql入门系列:Perl DBI基础(2) 阅读

Mysql入门系列:Perl DBI基础(2)

 2006-12-31 10:49:46 来源:WEB开发网   
核心提示: 前面的例子可编写如下:现在,do( ) 发送给MySQL的字符串如下所示,Mysql入门系列:Perl DBI基础(2)(8),具有出现在引用字符串内的可能对服务器转义的引号:请注意,在查询字符串中引用$last 和$first 时,这样做效率更高一些,只调用一次prepare( ),不要

前面的例子可编写如下:

现在,do( ) 发送给MySQL的字符串如下所示,具有出现在引用字符串内的可能对服务器转义的引号:

请注意,在查询字符串中引用$last 和$first 时,不要增加括起来的引号; quote( ) 方法支持它们。如果增加了引号,则查询将出现过多的引号,如下面的例子所示:

这些语句产生下面的输出:

占位符和参数约束

在前面各节中,我们通过把要插入或选择的值作为选择标准,直接放在查询字符串中构造了查询。不一定非要这样做。DBI允许在查询字符串内部放置一些称为占位符的特殊标记符,然后,在执行该查询时,将这些值代替那些标识符来使用。这样做的主要原因是提高性能,特别是在循环中反复执行某个查询的时候。

为了说明占位符如何工作,举例说明。假设学校新学期刚开始,打算清理学分薄的student 表,然后利用包含在文件中的一列学生姓名将其初始化,使其包含新学生。不用占位符,可以如下这样删除现有表的内容,并装入新的姓名:

这样做效率很低,因为INSERT 查询的基本格式每次都是相同的,并且在整个循环中,do( ) 每次都调用prepare( ) 和execute( )。在进入这个循环以前,只调用一次prepare( ) 来设置INSERT 语句,并且在这个循环内部只调用execute( ),这样做效率更高一些。只调用一次prepare( ),可避免其他多次调用。DBI 允许我们这样做:

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接