国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python操作SQLite數據庫的方法詳解【導入,創建,游標,增刪改查等】

2020-01-04 16:58:28
字體:
來源:轉載
供稿:網友

本文實例講述了Python操作SQLite數據庫的方法。分享給大家供大家參考,具體如下:

SQLite簡介

SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起MySQL、PostgreSQL這兩款開源的世界著名數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。 至2015年已經有15個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。

SQLite數據庫的使用

1.導入Python SQLite數據庫模塊

python2.5版本以后內置SQLite數據庫

import sqlite3

2. 創建/打開數據庫

調用connect函數的時候,指定庫名稱,如果指定的數據庫存在就直接打開這個數據庫,如果不存在就新創建一個再打開

conn = sqlite3.connect("E:/test.db")

或者也可以在內存中創建

conn = sqlite3.connect(":memory:")

3.數據庫連接對象

打開數據庫時返回的對象conn就是一個數據庫連接對象,它可以有以下操作:

commit()--事務提交
rollback()--事務回滾
close()--關閉一個數據庫連接
cursor()--創建一個游標

關于commit(),如果isolation_level隔離級別默認,那么每次對數據庫的操作,都需要使用該命令,你也可以設置isolation_level=None,這樣就變為自動提交模式。

4.使用游標查詢數據庫

我們需要使用游標對象SQL語句查詢數據庫,獲得查詢對象。 通過以下方法來定義一個游標。

cu=conn.cursor()

游標對象有以下的操作:

execute()--執行sql語句
executemany--執行多條sql語句
close()--關閉游標
fetchone()--從結果中取一條記錄,并將游標指向下一條記錄
fetchmany()--從結果中取多條記錄
fetchall()--從結果中取出所有記錄
scroll()--游標滾動

SQLite數據庫操作

1. 創建數據庫表

cu.execute("create table user (id integer primary key,name varchar(20) UNIQUE,age integer,comment text NULL)")# 創建一張user表,表中有id(主鍵),名字(唯一),年齡,備注(默認為空)

2. 插入數據

請注意避免以下寫法:

# 這樣寫會導致注入攻擊pid=200c.execute("... where id= '%s'" % id)

正確的做法如下,如果t只是單個數值,也要采用t=(n,)的形式,因為元組是不可變的。

for user in[(0,'aaa',111,'aaaa'),(1,'bbb',222,'bbbb')]: conn.execute("insert into user values (?,?,?,?)", user) # 注意user是元組,不可變conn.commit() # 注意插入操作之后要進行提交

3. 查詢數據

cu.execute("select * from user")cu.fetchone() # 得到游標的第一個值cu.execute("select * from user")cu.fetchall() # 使用游標的fetch函數,fetchall得到所有的查詢記錄

4. 修改數據

cu.execute("update user set name='ccc' where id = 0")conn.commit()

5. 刪除數據

cu.execute("delete from user where id = 1")conn.commit()

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌吉市| 锡林浩特市| 津南区| 中江县| 清水县| 临朐县| 耿马| 上高县| 昌乐县| 湘潭市| 灵宝市| 商河县| 樟树市| 民县| 莆田市| 呼和浩特市| 澄城县| 南漳县| 林口县| 白城市| 万年县| 景泰县| 阜平县| 博爱县| 镇平县| 夏邑县| 伊宁县| 昌图县| 洪湖市| 嘉荫县| 三门峡市| 达州市| 徐汇区| 龙州县| 横山县| 赤城县| 台州市| 德庆县| 奉化市| 曲阳县| 泰安市|