欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

淺談Python自帶數據庫SQLite3模塊的使用(全面詳細)

系統 1993 0

目錄

  • 寫在前面
  • 一:使用數據庫的宏觀過程
  • 二:數據庫使用
    • 1、導入數據庫模塊
    • 2、打開數據庫
      • 2.1、在硬盤上建立數據庫
      • 2.2、在內存上建立數據庫
    • 3、創建游標
    • 4、執行SQL語句
      • 4.1、創建表
      • 4.2、新增數據
      • 4.2、更新數據
      • 4.3、刪除數據
      • 4.4、查詢數據
      • 4.5、刪除表
    • 5、查詢并顯示數據
      • 5.1、全部顯示
      • 5.2、顯示一條
      • 5.2、顯示多條
    • 6、事務提交或回滾
      • 6.1、提交
      • 6.2、回滾
    • 7、關閉數據庫連接和游標

寫在前面

??SQLite3數據庫是一款非常小巧輕量級的嵌入式開源數據庫軟件,也就是說沒有獨立的維護進程,所有的維護都來自于程序本身。由于其方便快捷,從python2.5開始SQLite3就成了Python語言的標準模塊了;這也是Python中唯一一個數據庫接口類模塊,適合用戶開發 小型數據庫系統。 ,此外建議小伙伴們在閱讀之前先學習一些SQL數據庫語言的基本語法,否則看這SQL語句會有一點蒙。接下來就體驗一下它的神秘力量吧!

一:使用數據庫的宏觀過程

??我猜很多小伙伴們開始學習數據庫時應該和我一樣把重點放在學習使用數據庫的每一條SQL語句上,可是當我學習完近所有的語句后發現:我還是對建立使用數據庫的過程一知半解,這樣缺少從整體上對數據庫的認識和了解。所以 我認為正確的方法應該是:先從整體上對數據庫的使用過程有一個清晰宏觀的掌握,之后再深入學習,這樣食用味道會更佳哦!

??話不多說,上菜:
淺談Python自帶數據庫SQLite3模塊的使用(全面詳細)_第1張圖片

二:數據庫使用

1、導入數據庫模塊

??此處沒有什么可說的,由于python2.5以后的安裝包已經自帶SQLite3的軟件包了,所以一行語句直接導入即可。

            
              
                import
              
               sqlite3

            
          

2、打開數據庫

??在python中,使用sqlite3創建數據庫的連接,當我們指定的數據庫文件不存在的時候連接對象會自動創建數據庫文件;如果數據庫文件已經存在,則連接對象不會再創建數據庫文件,而是直接打開該數據庫文件。 連接對象可以是硬盤上面的數據庫文件,也可以是建立在內存(memory)中的,在內存中的數據庫執行完任何操作后,都不需要提交事務的(commit)

??connect方法返回con對象,即是數據庫鏈接對象,它提供了以下方法:

方法 描述
.cursor() 創建一個游標對象
.commit() 處理事務提交
.rollback() 處理事務回滾
.close() 關閉一個數據庫連接

2.1、在硬盤上建立數據庫

方法一:

            
              	con
              
                =
              
              sqlite3
              
                .
              
              connect
              
                (
              
              
                "E:\Test.db"
              
              
                )
              
            
          

??注意: E:\Test.db E:\\Test.db E:\TEST.db 均相同。由此可見 數據庫的名稱不區分大小寫,且以第一次建立時的名字為準。 但需要注意的是: E:\test.db 會報錯,因為編譯器會識別到 \t 為制表符,因此認為路徑不對。

方法二:

            
              	con
              
                =
              
              sqlite3
              
                .
              
              connect
              
                (
              
              
                "Test.db"
              
              
                )
              
            
          

??不加全路徑時,數據庫文件會自動建立在工程項目文件夾下。

2.2、在內存上建立數據庫

            
              	con
              
                =
              
              sqlite3
              
                .
              
              connect
              
                (
              
              
                "memory"
              
              
                )
              
            
          

3、創建游標

??游標對象有以下方法支持數據庫操作:

方法 描述
.execute() 用來執行sql語句
.executemany() 用來執行多條sql語句
.close() 用來關閉游標
.fetchone() 用來從結果中取一條記錄,并將游標指向下一條記錄
.fetchmany() 用來從結果中取多條記錄。
.fetchall() 用來從結果中取出所以記錄。
.scroll() 用于游標滾動。

??創建游標示例:

            
              	cur
              
                =
              
              con
              
                .
              
              cursor
              
                (
              
              
                )
              
            
          

4、執行SQL語句

4.1、創建表

示例中所有的大寫字符為SQL語法標準,小寫字符為用戶自定義的字符,但由于SQL語句不區分大小寫,所以將SQL標準語句小寫也可以。

方法一:

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)"
              
              
                )
              
            
          

方法二:

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "CREATE TABLE test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)"
              
              
                )
              
            
          

??注意: 如果使用方法二(不加 IF NOT EXISTS ),當項目中存在相同的表時會報錯,所以為了省略檢查表是否已建立的過程,建議使用方法一。

4.2、新增數據

方法一

            
              	data 
              
                =
              
              
                "5,'leon',22"
              
              
	cur
              
                .
              
              execute
              
                (
              
              
                'INSERT INTO test VALUES (%s)'
              
              
                %
              
              data
              
                )
              
            
          

方法二

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "INSERT INTO test values(?,?,?)"
              
              
                ,
              
              
                (
              
              
                6
              
              
                ,
              
              
                "zgq"
              
              
                ,
              
              
                20
              
              
                )
              
              
                )
              
            
          

方法三

            
              	cur
              
                .
              
              executemany
              
                (
              
              
                'INSERT INTO test VALUES (?,?,?)'
              
              
                ,
              
              
                [
              
              
                (
              
              
                3
              
              
                ,
              
              
                'name3'
              
              
                ,
              
              
                19
              
              
                )
              
              
                ,
              
              
                (
              
              
                4
              
              
                ,
              
              
                'name4'
              
              
                ,
              
              
                26
              
              
                )
              
              
                ]
              
              
                )
              
            
          

4.2、更新數據

方法一:

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "UPDATE test SET name=? WHERE id=?"
              
              
                ,
              
              
                (
              
              
                "nihao"
              
              
                ,
              
              
                1
              
              
                )
              
              
                )
              
            
          

方法二:

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "UPDATE test SET name='haha' WHERE id=1"
              
              
                )
              
            
          

4.3、刪除數據

方法一:

            
              	n
              
                =
              
              cur
              
                .
              
              execute
              
                (
              
              
                "DELETE FROM test WHERE id=?"
              
              
                ,
              
              
                (
              
              
                1
              
              
                ,
              
              
                )
              
              
                )
              
            
          

方法二:

            
              	n
              
                =
              
              cur
              
                .
              
              execute
              
                (
              
              
                "DELETE FROM test WHERE id=2"
              
              
                )
              
            
          

??返回的n為游標對象

4.4、查詢數據

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "SELECT * FROM test"
              
              
                )
              
            
          

??查詢的結果存儲在游標對象cur中,可以使用對象的方法進行訪問。

4.5、刪除表

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "DROP TABLE Test "
              
              
                )
              
            
          

5、查詢并顯示數據

5.1、全部顯示

            
              	cur
              
                .
              
              execute
              
                (
              
              
                "select * from Test"
              
              
                )
              
              
                for
              
               item 
              
                in
              
               cur
              
                :
              
              
                print
              
              
                (
              
              item
              
                )
              
            
          

            
              
                print
              
              
                (
              
              cur
              
                .
              
              fetchall
              
                (
              
              
                )
              
              
                )
              
            
          

5.2、顯示一條

            
              
                print
              
              
                (
              
              cur
              
                .
              
              fetchone
              
                (
              
              
                )
              
              
                )
              
            
          

5.2、顯示多條

            
              
                print
              
              
                (
              
              cur
              
                .
              
              fetchmany
              
                (
              
              
                3
              
              
                )
              
              
                )
              
            
          

注意:使用游標的方法返回的數據類型是列表。

6、事務提交或回滾

6.1、提交

            
              	con
              
                .
              
              commit
              
                (
              
              
                )
              
            
          

6.2、回滾

            
              	con
              
                .
              
              rollback
              
                (
              
              
                )
              
            
          

7、關閉數據庫連接和游標

            
              	cur
              
                .
              
              close
              
                (
              
              
                )
              
              
	con
              
                .
              
              close
              
                (
              
              
                )
              
            
          

??注意: 一定要先關閉游標,再關閉數據庫連接,否則會報錯!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品综合 | 免费看国产片在线观看 | 国产在线观看福利 | 欧美精品国产精品 | 欧美日韩在线视频不卡一区二区三区 | 狠狠色欧美亚洲狠狠色www | 国产精品激情福利视频 | 国产99久 | 欧美黑人玩白人巨大极品 | 国内精品视频在线观看 | 日韩欧美综合在线 | 欧美成人激情视频 | av在线电影网站 | 羞羞的动漫在线观看 | 青草青草久热精品视频在线网站 | 一区二区电影 | 国产真实乱子伦清晰对白 | 日韩在线亚洲 | 污污网站国产精品白丝袜 | 天天摸天天爽天天澡视频 | 中文字幕日韩亚洲 | 欧美a在线看 | www.热| 91看片淫黄大片欧美看国产片 | 国产欧美日韩精品a在线观看高清 | 国产成人精品.一二区 | 国产一区二区黑人欧美xxxx | 狠狠撸电影院 | 蜜臀影院 | 欧美亚洲国产日韩 | 国产色拍拍视频在线 | 国产啪在线91 | 久久久久久久免费视频 | 91麻豆精品国产91久久久更新时间 | 九九av | 国产精品1区 | 中文字幕成人 | 午夜精品一区 | 一级黄色a视频 | 葫芦娃污视频 | 九九视频只有精品六 |