金仓数据库KingbaseES客户端编程接口指南-Perl DBI(4. DBI 数据库句柄对象)

4. DBI 数据库句柄对象

本部分将列出与 DBI 数据库句柄相关的方法和属性。更详细的信息可参考 DBI 的规范,本文不详细说明各方法和属性的相关信息。对于私有方法和属性,本文将详细说明。

4.1. 数据库句柄方法

  1. selectall_arrayref

    语法格式:

    $ary_ref = $dbh->selectall_arrayref($sql);

    $ary_ref = $dbh->selectall_arrayref($sql, \\%attr);

    $ary_ref = $dbh->selectall_arrayref($sql, \\%attr, @bind_values);

    功能:

    返回一个数组引用。数组中的元素是指向取回的每一行数据的引用。

  2. selectall_hashref

    语法格式:

    $hash_ref = $dbh->selectall_hashref($sql, $key_field);

    功能:

    作用与 selectall_arrayref 相似,返回一个哈希引用。

  3. selectcol_arrayref

    语法格式:

    $ary_ref = $dbh->selectcol_arrayref($sql, \\%attr, @bind_values);

    功能:

    返回一个含有每一行第一列值的数组的引用。

  4. prepare

    语法格式:

    $sth = $dbh->prepare($statement, \\%attr);

    功能:

    对语句做预处理,并且返回一个语句句柄对象的引用。

  5. prepare_cached

    语法格式:

    $sth = $dbh->prepare_cached($statement, \\%attr);

    功能:

    与 prepare 类似。返回的语句句柄存储在一个与 $dbh 有关的哈希列表中。如果使用同一组 $statement 和 %attr 值调用另外一个 prepare_cached ,那么不与数据库服务器交互就可以返回相应的 $sth。

  6. do

    语法格式:

    $rv = $dbh->do($statement);

    $rv = $dbh->do($statement, \\%attr);

    $rv = $dbh->do($statement, \\%attr, @bind_values);

    功能:

    预处理并执行单个 SQL 语句。返回所影响的行数,或者出错时返回 undef。如果返回 -1 表示不知道这个行数或者不能得到行数。该方法适用于不需预处理或者不需重复执行的非 SELECT 语句。如果使用该方法执行 SELECT 语句,将不返回任何数据。

  7. last_insert_id

    语法格式:

    $rv = $dbh->last_insert_id(undef, $schema, $table, undef);

    $rv = $dbh->last_insert_id(undef, $schema, $table, undef, {sequence => $seqname});

    功能:

    返回最后插入的一行数据的序列值。

  8. commit

    语法格式:

    $rv = $dbh->commit;

    功能:

    如果 AutoCommit 处于 off 状态,该方法将提交最近的数据库修改。如果 AutoCommit 处于 on 状态,该方法将产生一个提交无效的警告。

  9. rollback

    语法格式:

    $rv = $dbh->rollback;

    功能:

    如果 AutoCommit 处于 off 状态,该方法将最近未提交的数据库修改进行回滚操作。如果 AutoCommit 处于 on 状态,该方法将产生一个回滚无效的警告。

  10. begin_work

    语法格式:

    $rv = $dbh->begin_work;

    功能:

    该方法将开始一个事务,直到调用 commit 或者 rollback。如果 AutoCommit 处于 on 状态,该方法无效。

  11. disconnect

    语法格式:

    $rv = $dbh->disconnect;

    功能:

    断开数据库连接。数据库句柄在断开连接后就无效了。

  12. quote

    语法格式:

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

    功能:

    将数据按照该驱动程序的标准转换成可识别的格式。例如:将单个单引号或反斜线转换成两个。

  13. quote_identifier

    语法格式:

    $string = $dbh->quote_identifier( $name );

    $string = $dbh->quote_identifier( undef, $schema, $table);

    功能:

    返回给定的字符串的标识符的形式。这些字符串为表名,列名或者模式名。

  14. ping

    语法格式:

    $rv = $dbh->ping;

    功能:

    检查数据库句柄是否有效。

  15. table_info

    语法格式:

    $sth = $dbh->table_info(undef, $schema, $table, $type);

    功能:

    返回数据库中所有的表和视图的信息。

  16. column_info

    语法格式:

    $sth = $dbh->column_info( undef, $schema, $table, $column );

    功能:

    返回数据库中所有的列信息。

  17. primary_key_info

    语法格式:

    $sth = $dbh->primary_key_info( undef, $schema, $table, \\%attr );

    功能:

    返回表的主键信息。如果没有指定模式名,使用 search path 中的第一个模式名

  18. primary_key

    语法格式:

    @key_column_names = $dbh->primary_key(undef, $schema, $table);

    功能:

    返回表的主键包含的所有列名。如果没有主键,返回空值。

  19. foreign_key_info

    语法格式:

    $sth = $dbh->foreign_key_info( $pk_catalog, $pk_schema, $pk_table, $fk_catalog, $fk_schema, $fk_table );

    功能:

    返回表的外键信息。

  20. statistics_info

    语法格式:

    $sth = $dbh->statistics_info( undef, $schema, $table, $unique_only, $quick );

    功能:

    返回一个能取到表的所有统计信息的语句句柄。

  21. tables

    语法格式:

    @names = $dbh->tables( undef, $schema, $table, $type, \\%attr );

    功能:

    返回当前用户可见的所有表的信息。

  22. type_info_all

    语法格式:

    $type_info_all = $dbh->type_info_all;

    功能:

    返回常用的 SQL 数据类型的信息。

  23. type_info

    语法格式:

    @type_info = $dbh->type_info($data_type);

    功能:

    返回包含该数据类型所有信息的哈希列表。

  24. selectrow_array

    语法格式:

    @row_ary = $dbh->selectrow_array($sql);

    @row_ary = $dbh->selectrow_array($sql, \\%attr);

    @row_ary = $dbh->selectrow_array($sql, \\%attr, @bind_values);

    功能:

    返回一个包含所有行信息的数组。

  25. selectrow_arrayref

    语法格式:

    $ary_ref = $dbh->selectrow_arrayref($statement);

    $ary_ref = $dbh->selectrow_arrayref($statement, \\%attr);

    $ary_ref = $dbh->selectrow_arrayref($statement, \\%attr, @bind_values);

    功能:

    与 selectrow_array 类似。返回一个包含所有行信息的数组的引用。

  26. selectrow_hashref

    语法格式:

    $hash_ref = $dbh->selectrow_hashref($sql);

    $hash_ref = $dbh->selectrow_hashref($sql, \\%attr);

    $hash_ref = $dbh->selectrow_hashref($sql, \\%attr, @bind_values);

    功能:

    与 selectrow_array 类似。返回一个包含所有行信息的数组的哈希引用。

  27. clone

    语法格式:

    $other_dbh = $dbh->clone();

    功能:

    克隆一个语句句柄。

4.2. 数据库句柄属性

本部分介绍数据库句柄的属性。这些属性的改变不会影响其他已经存在的数据库句柄。

  1. AutoCommit (boolean)

    事务是否自动提交。为true时,表示数据库的改变不可回滚。为false时,在事务中对数据库的修改必须使用 commit 或 rollback 进行提交或者回滚。缺省值为true,即自动提交模式。

  2. ReadOnly (boolean)

    表示当前的数据库连接是否为只读模式的。如果为只读模式,对数据库的任何修改都是无效的。当 AutoCommit 为 true 时,该设置无效。

  3. Name (string, read-only)

    返回当前连接的数据库名。

  4. Username (string, read-only)

    返回当前连接使用的用户名。

  5. Driver (handle, read-only)

    返回其驱动程序句柄。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值