亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python操作SQLite簡(jiǎn)明教程

系統(tǒng) 1766 0

一、SQLite簡(jiǎn)介

SQLite是一個(gè)包含在C庫(kù)中的輕量級(jí)數(shù)據(jù)庫(kù)。它并不需要獨(dú)立的維護(hù)進(jìn)程,并且允許使用非標(biāo)準(zhǔn)變體(nonstandard variant)的SQL查詢(xún)語(yǔ)句來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。一些應(yīng)用可是使用SQLite保存內(nèi)部數(shù)據(jù)。它也可以在構(gòu)建應(yīng)用原型的時(shí)候使用,以便于以后轉(zhuǎn)移到更大型的數(shù)據(jù)庫(kù),比如PostgreSQL或者Oracle。

sqlite3模塊由Gerhard H?ring編寫(xiě),提供了一個(gè)SQL接口,這個(gè)接口的設(shè)計(jì)遵循了由PEP 249描述的DB-API 2.0說(shuō)明書(shū)。

二、創(chuàng)建并打開(kāi)數(shù)據(jù)庫(kù)

為了使用這個(gè)模塊,必須先創(chuàng)建一個(gè)連接(Connection)對(duì)象來(lái)代表數(shù)據(jù)庫(kù)。在以下的例子中,數(shù)據(jù)將會(huì)被保存在 example.db 文件中:

復(fù)制代碼 代碼如下:
import sqlite3
conn = sqlite3.connect('example.db')

如果指定的數(shù)據(jù)庫(kù)存在,就會(huì)直接打開(kāi)這個(gè)數(shù)據(jù)庫(kù),否則將新建一再打開(kāi)。
也可以提供專(zhuān)用名 :memory: 來(lái)在內(nèi)存中建立數(shù)據(jù)庫(kù)。

三、數(shù)據(jù)庫(kù)連接對(duì)象

一旦擁有了連接(Connection)對(duì)象,就可以創(chuàng)建游標(biāo)(Cursor)對(duì)象并調(diào)用他的execute()方法來(lái)執(zhí)行SQL語(yǔ)句:

復(fù)制代碼 代碼如下:
c = conn.cursor()
?
?# Create table
?c.execute('''CREATE TABLE stocks?????????????
???? (date text, trans text, symbol text, qty real, price real)''')
?
?# Insert a row of data
?c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
?
?# Save (commit) the changes
?conn.commit()
?
?# We can also close the connection if we are done with it.
?# Just be sure any changes have been committed or they will be lost.
?conn.close()
?

保存后的數(shù)據(jù)是持久的,并且可以在以后的訪問(wèn)中可用。

四、增刪改查

1.建(create)表

復(fù)制代碼 代碼如下:
c.execute("create table catalog (id integer primary key,pid integer,name varchar(10) UNIQUE,nickname text NULL)")

上面語(yǔ)句創(chuàng)建了一個(gè)叫catalog的表,它有一個(gè)主鍵id,一個(gè)pid,和一個(gè)name,name是不可以重復(fù)的,以及一個(gè)nickname默認(rèn)為NULL。

2.刪除表(DROP),清空表(TRUNCATE)

復(fù)制代碼 代碼如下:
c.execute("drop table catalog")

上面語(yǔ)句將catalog表刪除。

另外SQLite中沒(méi)有清空表的操作,使用如下方式替代:

復(fù)制代碼 代碼如下:
c.execute("delete from catalog")

3.插入(insert)數(shù)據(jù),更改(uptate)數(shù)據(jù)

通常SQL語(yǔ)句中會(huì)用到python變量作為值(value)。不建議直接使用python的字符串運(yùn)算來(lái)構(gòu)造查詢(xún)語(yǔ)句,因?yàn)檫@樣是不安全的,會(huì)使你的程序容易受到SQL注入攻擊。

可以使用DB-API提供的參數(shù)代換。在想使用值(value)的地方放置一個(gè)'?'作為占位符,然后提供一個(gè)由值(value)組成的元組作為游標(biāo)(cursor)中execute()方法的第二個(gè)參數(shù)。(其他的數(shù)據(jù)庫(kù)模塊可能使用別的占位符,比如 '%s' 或者 ':1')

復(fù)制代碼 代碼如下:

# Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)

c.execute("UPDATE catalog SET trans='SELL' WHERE symbol = 'IBM'")

4.查詢(xún)(select)數(shù)據(jù)

正如前面所說(shuō),提倡使用元組進(jìn)行操作。

復(fù)制代碼 代碼如下:
# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)

# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
print c.fetchone()

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

復(fù)制代碼 代碼如下:

t=('RHAT')
c.execute("DELETE * FROM stocks WHERE symbol=?", t)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99热在线观看免费 | 中文字字幕在线 | 天天鲁天天爱天天鲁天天 | 久久免费精品视频在线观看 | 亚洲一区二区三区高清不卡 | 精品一区二区三区免费毛片爱 | 国产一区亚洲二区 | 色成年激情久久综合 | 国产日日操| 四虎午夜剧场 | 99九九精品国产高清自在线 | 久热re这里只有精品视频 | 日日狠狠久久偷偷四色综合免费 | 99热久这里都是精品小草 | 国产区在线观看视频 | 久久精品视频16 | 大学生一级毛片免费看真人 | 欧美一区二区三区综合色视频 | 国产成人亚洲精品 | 欧美一区二区三区在线视频 | 四虎永久在线精品国产馆v视影院 | 日本亚洲成高清一区二区三区 | 夜色99 | 韩国精品一区二区久久 | 亚洲 欧美 日韩 在线 香蕉 | 愉拍精品视频在线观看 | 日本另类αv欧美另类aⅴ | 国产一区91| 五十路一区二区三区视频 | 久久69精品久久久久久hb | 92精品国产自产在线观看 | 一本一本久久a久久精品综合 | 特级毛片a级毛免费播放 | 精品成人一区二区三区免费视频 | 亚洲不卡免费视频 | 亚洲一区二区三区高清 不卡 | 在线色综合 | 鲁一鲁中文字幕久久 | 免费观看国产一区二区三区 | 国产精品久久久视频 | 乱人伦视频69 |