<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 連接數據庫 從2.5版本開始,Python的標準庫中就有了一個專門用于SQLite的sqlite3模塊。連接SQLite數據庫方式如下: ~~~ import sqlite3 as dbapi con = dbapi.connect('population.db') cur = con.cursor() ~~~ 第一個語句用于引用數據庫API; 第二個語句創建了一個到數據庫的連接(connection):調用數據庫模塊的connect方法。該方法的參數是一個字符串,它定義了我們所要連接的那個數據庫。由于SQLite是將整個數據庫保存在磁盤上的某個文件中的,因此這里就是該文件的路徑。如果該數據庫不存在,就會直接創建出來; 第三個語句用于獲取一個游標,它類似于文本編輯器中的光標,用于記錄我們當前在數據庫中的位置;當多個程序同時訪問數據庫時,該數據庫可以知道誰在干什么。 **數據類型對比** | SQLite | Python | 說明 | |-----|-----|-----| | NULL | NontType | 啥也不知道 | | INTEGER | int或long | 整數 | | REAL | float | 8字節浮點數 | | TEXT | unicode或str | 字符串 | | BLOB | buffer | 二進制數據(Binary Large OBject) | ### 操作數據庫 現在我們就可以操作數據庫了,我們將要執行的SQL語句放到一個字符串中,并告訴數據庫去執行這個字符串,如下所示: ~~~ cur.execute('CREATE TABLE Student(Stuid TEXT, Age INTERGER, Name TEXT)') cur.execute('INSERT INTO Student VALUES("00001", 20, "Lucy")') cur.execute('INSERT INTO Student VALUES("00002", 21, "Lily")') ~~~ 在將數據庫插入到數據庫或對數據庫做了任何其他修改之后,我們必須通過連接的commit方法提交(commit)這些修改: ~~~ con.commit() ~~~ 現在我們可以用如下方式來獲取數據: ~~~ cur.execute('SELECT * FROM Student') print(cur.fetchone()) print(cur.fetchall()) ~~~ fetchone方法以**元組**的形式返回每條記錄,其中各元素按查詢所指定的順序排列。如果不再有其他記錄存在,則返回None。默認情況下,數據庫中的TEXT是以Unicode字符串的形式返回的,我們可以告訴sqlite3以str的類型返回字符串:將連接的text_factory成員設置為類型str。 ~~~ con.text_factory = str ~~~ fetchall方法的功能是以元組列表的形式返回查詢所產生的全部數據。 一種較為快捷的插入方式: ~~~ ss = [("00003", 20, "David"), ("00004", 23, "Cneagle"), ("00005", 22, "qxzy")] for s in ss: cur.execute('INSERT INTO Student VALUES(?, ?, ?)', (s[0], s[1], s[2])) con.commit() ~~~ 這次execute的調用用到了兩個參數,第一個是帶有問號的SQL語句,這些問號是將要插入的值的占位符,第二個是由待插入值所組成的元組,數據庫在執行該語句時,會用這些值從左到右地替換那些問號。 注意: - SQL的數據類型與編程語言中的數據類型并不完全相同,因此在編寫應用程序的時候很有必要在它們之間進行類型轉換。 - 在被提交之前,對數據庫做出的修改不會有任何效果。這保證了當數據庫被兩個以上的程序同時操作時,能夠保持一致的狀態。
                  <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>

                              哎呀哎呀视频在线观看