当前位置: 首页 > 编程笔记 >

Perl中有用的DBI函数

柯景龙
2023-03-14
本文向大家介绍Perl中有用的DBI函数,包括了Perl中有用的DBI函数的使用技巧和注意事项,需要的朋友参考一下

检查available_drivers

@ary = DBI->available_drivers;
@ary = DBI->available_drivers($quiet);

通过@INC中的目录搜索DBD::*模块,返回所有可用驱动程序的列表。默认情况下,如果某些驱动程序被较早目录中的其他同名驱动程序隐藏,则会发出警告。为$quiet传递真实值将禁止该警告。

检查installed_drivers

%drivers = DBI->installed_drivers();

返回所有已“安装”(加载)到当前进程的驱动程序的驱动程序名称和驱动程序句柄对的列表。驱动程序名称不包含“ DBD ::”前缀。

检查data_sources

@ary = DBI->data_sources($driver);

返回通过指定驱动程序可用的数据源(数据库)列表。如果$driver为空或undef,则使用DBI_DRIVER环境变量的值。

创建字符串引用

$sql = $dbh->quote($value);
$sql = $dbh->quote($value, $data_type);

通过转义字符串中包含的任何特殊字符(例如引号)并添加所需的外部引号类型,对字符串文字进行引号以用作SQL语句中的文字值。

$sql = sprintf "SELECT foo FROM bar WHERE baz = %s",
$dbh->quote("Don't");

对于大多数数据库类型,quote将返回'Do n't'(包括外部引号)。该quote()方法返回计算结果为所需字符串的SQL表达式是有效的。例如-

$quoted = $dbh->quote("one\ntwo\0three")
may produce results which will be equivalent to
CONCAT('one', CHAR(12), 'two', CHAR(0), 'three')
 类似资料:
  • Perl DBI是Perl数据库接口(Perl Database Interface,简称DBI)。通过提供一系列在内部上能够转化成原始调用函数的功能,DBI模块为很多不同的数据库提供了一个统一的接口。由此,使用Perl就可以很容易地利用数据库和建立动态Web网页。 下载:Perl-DBI 1.4 RPM

  • 问题内容: 我有这样的东西: 我的问题是循环的每次迭代都很慢。问题是MySQL。我想知道是否可以在while循环中放入某种包装程序,以使其一次获取多个记录,同时将所有记录获取到内存中也不可行。我不担心代码的效率(hashref与arrayref等)。相反,我有兴趣一次获取10000条记录。 该数据库有约500万条记录。我无法更改/升级服务器。 谢谢 问题答案: 您可以使用fetchall_arra

  • 我的联系是: DBI->Connect($ConnectionString,$User,$Passwd,{PrinterRor=>1,RaiseError=>1,AutoCommit=>1}) 想知道DBI是否可以连接到Oracle12c?我是不是应该改用别的东西?

  • 本文向大家介绍Perl中的system()函数,包括了Perl中的system()函数的使用技巧和注意事项,需要的朋友参考一下 您可以使用 system() Perl函数来执行任何Unix命令,该命令的输出将进入perl脚本的输出。默认情况下,它是屏幕,即STDOUT,但是您可以使用重定向操作符将其重定向到任何文件>- 当执行上述代码时,它列出了当前目录中所有可用的文件和目录- 当命令包含诸如$P

  • 本文向大家介绍Perl中的fork()函数,包括了Perl中的fork()函数的使用技巧和注意事项,需要的朋友参考一下 Perl提供了一个fork()函数,该函数对应于同名的Unix系统调用。在大多数类似Unix的平台上,fork()系统调用是可用的,Perl的fork()只是简单地调用它。在某些平台(如Windows)上,fork()系统调用不可用,可以构建Perl以在解释器级别模拟fork()

  • 本文向大家介绍Perl中的kill()函数,包括了Perl中的kill()函数的使用技巧和注意事项,需要的朋友参考一下 Perl kill('KILL', (Process List))函数可用于通过将fork()返回的ID传递给伪进程来终止它。 注意,在伪进程上使用kill(' kill ',(进程列表))通常会导致内存泄漏,因为实现伪进程的线程没有机会清理其资源。 可以使用kill()函数向目