<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Perl DBI > 原文: [http://zetcode.com/db/sqliteperltutorial/dbi/](http://zetcode.com/db/sqliteperltutorial/dbi/) 在 SQLite Perl 教程的第一章中,我們將介紹 Perl DBI 模塊和 SQLite 數據庫。 我們將提供一些定義并顯示如何安裝必要的元素。 ## 先決條件 要使用本教程,我們必須安裝 Perl 語言,SQLite 數據庫,`sqlite3`命令行工具,Perl `DBI`和`DBD::SQLite`模塊。 `DBI`是標準的 Perl 數據庫接口。 每個數據庫都有其驅動程序。 在我們的例子中,`DBD::SQLite`是 SQLite 數據庫的驅動程序。 ```perl $ sudo perl -MCPAN -e shell cpan> install DBI cpan[2]> install DBD::SQLite ``` 上面的命令顯示了如何安裝 Perl DBI 和`DBD::SQLite`模塊。 ## SQLite 數據庫 SQLite 是嵌入式關系數據庫引擎。 它是一個自包含,無服務器,零配置和事務型 SQL 數據庫引擎。 SQLite 實現了 SQL 的大多數 SQL-92 標準。 SQLite 引擎不是獨立的進程。 而是將其靜態或動態鏈接到應用。 SQLite 數據庫是單個普通磁盤文件,可以位于目錄層次結構中的任何位置。 SQLite 附帶`sqlite3`命令行工具。 它可用于對數據庫發出 SQL 命令。 現在,我們將使用`sqlite3`命令行工具創建一個新數據庫。 ```perl $ sqlite3 test.db SQLite version 3.6.22 Enter ".help" for instructions Enter SQL statements terminated with a ";" ``` 我們為`sqlite3`工具提供了一個參數。 `test.db`是數據庫名稱。 它是我們磁盤上的單個文件。 如果存在,則將其打開。 如果不是,則創建它。 ```perl sqlite> .tables sqlite> .exit $ ls test.db ``` `.tables`命令提供了`test.db`數據庫中的表列表。 當前沒有表。 `.exit`命令終止`sqlite3`命令行工具的交互式會話。 `ls` Unix 命令顯示當前工作目錄的內容。 我們可以看到`test.db`文件。 所有數據將存儲在該單個文件中。 ## Perl DBI Perl `DBI`(數據庫接口)是 Perl 編程語言的數據庫訪問模塊。 它定義了一組提供標準數據庫接口的方法,變量和約定。 `DBI`還負責驅動程序的動態加載,錯誤檢查和處理,提供方法的默認實現以及許多其他非數據庫特定的職責。 `DBI`將方法調用分派到適當的數據庫驅動程序。 `DBD`(數據庫驅動程序)是一個 Perl 模塊,可為特定的數據庫引擎轉換`DBI`方法。 數據庫驅動程序由數據庫供應商提供。 ```perl #!/usr/bin/perl use strict; use DBI; my @ary = DBI->available_drivers(); print join("\n", @ary), "\n"; ``` 該代碼示例列出了系統上所有可用的驅動程序。 ```perl use DBI; ``` 我們為腳本導入 DBI 模塊。 ```perl my @ary = DBI->available_drivers(); ``` `available_drivers()`類方法獲取系統上所有當前可用的驅動程序。 ```perl print join("\n", @ary), "\n"; ``` 此行將驅動程序打印到控制臺,每個驅動程序都在單獨的行上。 ```perl $ ./available_drivers.pl DBM ExampleP File Gofer Proxy SQLite Sponge mysql ``` 示例輸出。 ## 常見的 DBI 方法 下表列出了一些常見的 DBI 方法。 | 方法名稱 | 描述 | | --- | --- | | `available_drivers()` | 返回所有可用驅動程序的列表 | | `connect()` | 建立與請求的數據源的連接 | | `disconnect()` | 與數據庫服務器斷開連接 | | `prepare()` | 準備要執行的 SQL 語句 | | `execute()` | 執行預備語句 | | `do()` | 準備并執行一條 SQL 語句 | | `bind_param()` | 在預備語句中將值與占位符關聯 | | `bind_col()` | 將 Perl 變量綁定到`SELECT`語句的輸出字段 | | `begin_work()` | 開始新事務 | | `commit()` | 將最新的一系列未提交的數據庫更改寫入數據庫 | | `rollback()` | 撤消最近一系列未提交的數據庫更改 | | `quote()` | 引用字符串字面值,以用作 SQL 語句中的字面值 | | `dump_results()` | 獲取所有行并打印 | | `fetchrow_array()` | 獲取下一行作為字段數組 | | `fetchrow_arrayref()` | 獲取下一行作為字段的引用數組 | | `fetchrow_hashref()` | 獲取下一行作為對哈希表的引用 | | `fetchall_arrayref()` | 以數組的形式獲取所有數據 | | `finish()` | 完成聲明并讓系統釋放資源 | | `rows()` | 返回受影響的行數 | | `column_info()` | 提供有關列的信息 | | `table_info()` | 提供有關表的信息 | | `primary_key_info()` | 提供有關表中主鍵的信息 | | `foreign_key_info()` | 提供有關表中外鍵的信息 | ## 約定 在使用 Perl DBI 時,Perl 程序員通常使用以下變量名。 在本教程中,我們也將遵守這些約定。 | 變量名 | 描述 | | --- | --- | | `$dbh` | 數據庫句柄對象 | | `$sth` | 語句句柄對象 | | `$drh` | 驅動程序句柄對象(在應用中很少見或使用) | | `$h` | 上面的任何句柄類型(`$dbh`,`$sth` 或`$drh`) | | `$rc` | 通用返回碼(布爾值:`true = ok`,`false = error`) | | `$rv` | 一般返回值(通常為整數) | | `@ary` | 從數據庫返回的值列表,通常是一行數據 | | `$rows` | 處理的行數(如果可用,否則為 -1) | | `$fh` | 文件句柄 | | `undef` | NULL 值由 Perl 中的未定義值表示 | | `\%attr` | 引用傳遞給方法的屬性值的哈希 | SQLite Perl 教程的這一章介紹了 Perl DBI 模塊和 SQLite 數據庫。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看