最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python連接SQLite數(shù)據(jù)庫并進行增冊改查操作方法詳解

 更新時間:2020年02月18日 15:13:40   作者:freelamb  
這篇文章主要介紹了Python對SQLite數(shù)據(jù)庫進行增冊改查操作方法詳解,需要的朋友可以參考下

SQLite簡介

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

SQLite數(shù)據(jù)庫的使用

1.導(dǎo)入Python SQLite數(shù)據(jù)庫模塊

python2.5版本以后內(nèi)置SQLite數(shù)據(jù)庫

import sqlite3

2. 創(chuàng)建/打開數(shù)據(jù)庫

調(diào)用connect函數(shù)的時候,指定庫名稱,如果指定的數(shù)據(jù)庫存在就直接打開這個數(shù)據(jù)庫,如果不存在就新創(chuàng)建一個再打開

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

或者也可以在內(nèi)存中創(chuàng)建

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

3.數(shù)據(jù)庫連接對象

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

commit()--事務(wù)提交   

rollback()--事務(wù)回滾   

close()--關(guān)閉一個數(shù)據(jù)庫連接   

cursor()--創(chuàng)建一個游標(biāo)

關(guān)于commit(),如果isolation_level隔離級別默認(rèn),那么每次對數(shù)據(jù)庫的操作,都需要使用該命令,你也可以設(shè)置isolation_level=None,這樣就變?yōu)樽詣犹峤荒J健?/p>

4.使用游標(biāo)查詢數(shù)據(jù)庫

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

cu=conn.cursor()

游標(biāo)對象有以下的操作:

execute()--執(zhí)行sql語句   

executemany--執(zhí)行多條sql語句   

close()--關(guān)閉游標(biāo)   

fetchone()--從結(jié)果中取一條記錄,并將游標(biāo)指向下一條記錄   

fetchmany()--從結(jié)果中取多條記錄   

fetchall()--從結(jié)果中取出所有記錄   

scroll()--游標(biāo)滾動  

SQLite數(shù)據(jù)庫操作

1. 創(chuàng)建數(shù)據(jù)庫表

cu.execute("create table user (id integer primary key,name varchar(20) UNIQUE,age integer,comment text NULL)")

# 創(chuàng)建一張user表,表中有id(主鍵),名字(唯一),年齡,備注(默認(rèn)為空)

2. 插入數(shù)據(jù)

請注意避免以下寫法:

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

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

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

3. 查詢數(shù)據(jù)

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

4. 修改數(shù)據(jù)

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

5. 刪除數(shù)據(jù)

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

更多關(guān)于Python連接SQLite數(shù)據(jù)庫并進行增冊改查操作方法請查看下面的相關(guān)鏈接

相關(guān)文章

最新評論

柘城县| 凤城市| 大同市| 金华市| 安仁县| 丰城市| 翼城县| 阿勒泰市| 阿图什市| 潞西市| 诏安县| 阿拉善左旗| 南皮县| 化州市| 霞浦县| 荆门市| 朝阳区| 汝南县| 平凉市| 诸城市| 酒泉市| 瑞丽市| 马公市| 延长县| 交城县| 牙克石市| 阿勒泰市| 北流市| 同心县| 高唐县| 奉节县| 朔州市| 日喀则市| 五大连池市| 香河县| 屏边| 樟树市| 伊春市| 连云港市| 潍坊市| 金坛市|