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')