• 金仓数据库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)

      返回其驱动程序句柄。

  • 相关阅读:
    2022年的最后100天渡德赋能网伴天下,修炼本领,不断学习|网安伴
    Lottie进阶和原理分析
    C++基础——指针
    Visual Components软件有哪些用途 衡祖仿真
    极智开发 | Hello world for Manim
    【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
    cocos2dx——多段式进度条实现思路
    JAVA 获得特定格式时间
    Spire.PDF for NET 8.7.2
    python习题004--使用python实现ATM机效果
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126279579