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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # SQLite - Python ## 安裝 SQLite3 可使用 sqlite3 模塊與 Python 進行集成。sqlite3 模塊是由 Gerhard Haring 編寫的。它提供了一個與 PEP 249 描述的 DB-API 2.0 規范兼容的 SQL 接口。您不需要單獨安裝該模塊,因為 Python 2.5.x 以上版本默認自帶了該模塊。 為了使用 sqlite3 模塊,您首先必須創建一個表示數據庫的連接對象,然后您可以有選擇地創建光標對象,這將幫助您執行所有的 SQL 語句。 ## Python sqlite3 模塊 API 以下是重要的 sqlite3 模塊程序,可以滿足您在 Python 程序中使用 SQLite 數據庫的需求。如果您需要了解更多細節,請查看 Python sqlite3 模塊的官方文檔。 | API | 描述 | | --- | --- | | **sqlite3.connect(database [,timeout ,other optional arguments])** | 該 API 打開一個到 SQLite 數據庫文件 database 的鏈接。您可以使用 ":memory:" 來在 RAM 中打開一個到 database 的數據庫連接,而不是在磁盤上打開。如果數據庫成功打開,則返回一個連接對象。 當一個數據庫被多個連接訪問,且其中一個修改了數據庫,此時 SQLite 數據庫被鎖定,直到事務提交。timeout 參數表示連接等待鎖定的持續時間,直到發生異常斷開連接。timeout 參數默認是 5.0(5 秒)。 如果給定的數據庫名稱 filename 不存在,則該調用將創建一個數據庫。如果您不想在當前目錄中創建數據庫,那么您可以指定帶有路徑的文件名,這樣您就能在任意地方創建數據庫。 | | **connection.cursor([cursorClass])** | 該例程創建一個 **cursor**,將在 Python 數據庫編程中用到。該方法接受一個單一的可選的參數 cursorClass。如果提供了該參數,則它必須是一個擴展自 sqlite3.Cursor 的自定義的 cursor 類。 | | **cursor.execute(sql [, optional parameters])** | 該例程執行一個 SQL 語句。該 SQL 語句可以被參數化(即使用占位符代替 SQL 文本)。sqlite3 模塊支持兩種類型的占位符:問好和命名占位符(命名樣式)。 例如:cursor.execute("insert into people values (?, ?)", (who, age)) | | **connection.execute(sql [, optional parameters])** | 該例程是上面執行的由光標(cursor)對象提供的方法的快捷方式,它通過調用光標(cursor)方法創建了一個中間的光標對象,然后通過給定的參數調用光標的 execute 方法。 | | **cursor.executemany(sql, seq_of_parameters)** | 該例程對 seq_of_parameters 中的所有參數或映射執行一個 SQL 命令。 | | **connection.executemany(sql[, parameters])** | 該例程是一個由調用光標(cursor)方法創建的中間的光標對象的快捷方式,然后通過給定的參數調用光標的 executemany 方法。 | | **cursor.executescript(sql_script)** | 該例程一旦接收到腳本,會執行多個 SQL 語句。它首先執行 COMMIT 語句,然后執行作為參數傳入的 SQL 腳本。所有的 SQL 語句應該用分號(;)分隔。 | | **connection.executescript(sql_script)** | 該例程是一個由調用光標(cursor)方法創建的中間的光標對象的快捷方式,然后通過給定的參數調用光標的 executescript 方法。 | | **connection.total_changes()** | 該例程返回自數據庫連接打開以來被修改、插入或刪除的數據庫總行數。 | | **connection.commit()** | 該方法提交當前的食物。如果您未調用該方法,那么自您上一次調用 commit() 以來所做的任何動作對其他數據庫連接來說是不可見的。 | | **connection.rollback()** | 該方法回滾自上一次調用 commit() 以來對數據庫所做的更改。 | | **connection.close()** | 該方法關閉數據庫連接。請注意,這不會自動調用 commit()。如果您之前未調用 commit() 方法,就直接關閉數據庫連接,您所做的所有更改將全部丟失! | | **cursor.fetchone()** | 該方法獲取查詢結果集中的下一行,返回一個單一的序列,當沒有更多可用的數據時,則返回 None。 | | **cursor.fetchmany([size=cursor.arraysize])** | 該方法獲取查詢結果集中的下一行組,返回一個列表。當沒有更多的可用的行時,則返回一個空的列表。該方法嘗試獲取由 size 參數指定的盡可能多的行。 | | **cursor.fetchall()** | 該例程獲取查詢結果集中所有(剩余)的行,返回一個列表。當沒有可用的行時,則返回一個空的列表。 | ## 連接數據庫 下面的 Python 代碼顯示了如何連接到一個現有的數據庫。如果數據庫不存在,那么它就會被創建,最后將返回一個數據庫對象。 ``` #!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; ``` 在這里,您也可以把數據庫名稱復制為特定的名稱 **:memory:**,這樣就會在 RAM 中創建一個數據庫。現在,讓我們來運行上面的程序,在當前目錄中創建我們的數據庫 **test.db**。您可以根據需要改變路徑。保存上面代碼到 sqlite.py 文件中,并按如下所示執行。如果數據庫成功創建,那么會顯示下面所示的消息: ``` $chmod +x sqlite.py $./sqlite.py Open database successfully ``` ## 創建表 下面的 Python 代碼段將用于在先前創建的數據庫中創建一個表: ``` #!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''') print "Table created successfully"; conn.close() ``` 上述程序執行時,它會在 **test.db** 中創建 COMPANY 表,并顯示下面所示的消息: ``` Opened database successfully Table created successfully ``` ## INSERT 操作 下面的 Python 程序顯示了如何在上面創建的 COMPANY 表中創建記錄: ``` #!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00 )"); conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00 )"); conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )"); conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )"); conn.commit() print "Records created successfully"; conn.close() ``` 上述程序執行時,它會在 COMPANY 表中創建給定記錄,并會顯示以下兩行: ``` Opened database successfully Records created successfully ``` ## SELECT 操作 下面的 Python 程序顯示了如何從前面創建的 COMPANY 表中獲取并顯示記錄: ``` #!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operation done successfully"; conn.close() ``` 上述程序執行時,它會產生以下結果: ``` Opened database successfully ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully ``` ## UPDATE 操作 下面的 Python 代碼顯示了如何使用 UPDATE 語句來更新任何記錄,然后從 COMPANY 表中獲取并顯示更新的記錄: ``` #!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1") conn.commit print "Total number of rows updated :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operation done successfully"; conn.close() ``` 上述程序執行時,它會產生以下結果: ``` Opened database successfully Total number of rows updated : 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 25000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully ``` ## DELETE 操作 下面的 Python 代碼顯示了如何使用 DELETE 語句刪除任何記錄,然后從 COMPANY 表中獲取并顯示剩余的記錄: ``` #!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Opened database successfully"; conn.execute("DELETE from COMPANY where ID=2;") conn.commit print "Total number of rows deleted :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operation done successfully"; conn.close() ``` 上述程序執行時,它會產生以下結果: ``` Opened database successfully Total number of rows deleted : 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully ```
                  <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>

                              哎呀哎呀视频在线观看