五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網 > 365文章 > Python操作SQLite(創(chuàng)建/連接/查詢/插入/修改/刪除)的方法

Python操作SQLite(創(chuàng)建/連接/查詢/插入/修改/刪除)的方法

文章來源:365jz.com     點擊數(shù):979    更新時間:2018-01-24 11:51   參與評論

Python操作SQLite

1.導入sqlite數(shù)據(jù)庫模塊

Python中使用sqlite3模塊操作SQLite。從Python 2.5以后,sqlite3成為內置模塊,不需要額外安裝,只需要導入即可。


import sqlite3

圖8-6 事務提交

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

sqlite3模塊中使用connect方法創(chuàng)建/打開數(shù)據(jù)庫,需要指定數(shù)據(jù)庫路徑,如果數(shù)據(jù)庫存在則打開,不存在則創(chuàng)建一個新的數(shù)據(jù)庫。

con = sqlite3.connect('D:\test.db')

不僅可以在硬盤上創(chuàng)建數(shù)據(jù)庫文件,還可以在內存中創(chuàng)建。

con = sqlite3.connect(':memory:')

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

上面通過connect方法返回的con對象,即是數(shù)據(jù)庫連接對象,它提供了以下方法:

·cursor()方法用來創(chuàng)建一個游標對象。

·commit()方法用來事務提交。

·rollback()方法用來事務回滾。

·close()方法用來關閉一個數(shù)據(jù)庫連接。

4.游標對象的使用

對數(shù)據(jù)庫的查詢需要使用到游標對象,首先通過cursor()方法創(chuàng)建一個游標對象:

cur = con.cursor()

游標對象有以下方法支持數(shù)據(jù)庫的操作:

·execute()用來執(zhí)行sql語句。

·executemany()用來執(zhí)行多條sql語句。

·close()用來關閉游標。

·fetchone()用來從結果中取一條記錄,并將游標指向下一條記錄。

·fetchmany()用來從結果中取多條記錄。

·fetchall()用來從結果中取出所有記錄。

·scroll()用于游標滾動。

5.建表

首先使用游標對象創(chuàng)建一個person表,包含id、name、age等3

列,代碼如下:

cur.execute(' CREATE TABLE person (id integer primary key,name varchar(20),
age integer)')

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

向person表中插入兩條數(shù)據(jù)。插入數(shù)據(jù)一般有兩種做法,第一種做法是直接構造一個插入的SQL語句,代碼如下:

data="0,'qiye',20"
cur.execute(' INSERT INTO person VALUES (%s)'%data)

但是這種做法是非常不安全的,容易導致SQL注入。另一種做法使用占位符“”的方式來規(guī)避這個問題,代碼如下:

cur.execute(' INSERT INTO person VALUES (,,)',(0,'qiye',20))

還可以使用executemany()執(zhí)行多條SQL語句,使用

executemany()方法比循環(huán)使用execute()方法執(zhí)行多條SQL語句效率高很多。

cur.executemany(' INSERT INTO person VALUES (,,)',[(3,'marry',20),(4,'jack',20)])

這兩種方法插入數(shù)據(jù)都不會立即生效,需要使用數(shù)據(jù)庫對象con

進行提交操作:

如果出現(xiàn)錯誤,還可以使用回滾操作:

con.commit()

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

查詢person表中的所有數(shù)據(jù),代碼如下:

cur.execute('SELECT * FROM person')

要提取查詢數(shù)據(jù),游標對象提供了fetchall()和fetchone()方法。fetchall()方法獲取所有數(shù)據(jù),返回一個二維的列表。

fetchone()方法獲取其中的一個結果,返回一個元組。使用方法如下:

cur.execute('SELECT * FROM person')
res = cur.fetchall()
for line in res:
print line
cur.execute('SELECT * FROM person')
res = cur.fetchone()
print res

8.修改和刪除數(shù)據(jù)

cur.execute('UPDATE person SET name= WHERE id=',('rose',1))
cur.execute('DELETE FROM person WHERE id=',(0,))
con.commit()
con.close()

注意 執(zhí)行完所有操作記得關閉數(shù)據(jù)庫,插入或者修改中文數(shù)據(jù)時,記得在中文字符串之前加上“u”。

 

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網友會為你解答?。?點擊進入論壇

發(fā)表評論 (979人查看,0條評論)
請自覺遵守互聯(lián)網相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務咨詢

· 技術支持
· 服務時間:9:00-18:00
365建站網二維碼

Powered by 365建站網 RSS地圖 HTML地圖

copyright © 2013-2024 版權所有 鄂ICP備17013400號