日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python创建sqlite3数据库_Python之Sqlite3数据库基本操作

發(fā)布時(shí)間:2024/9/19 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python创建sqlite3数据库_Python之Sqlite3数据库基本操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在一些小的應(yīng)用中,難免會(huì)用到數(shù)據(jù)庫(kù),Sqlite數(shù)據(jù)庫(kù)以其小巧輕便,無(wú)需安裝,移植性好著稱(chēng),本文主要以一個(gè)簡(jiǎn)單的小例子,簡(jiǎn)述Python在Sqlite數(shù)據(jù)庫(kù)方面的應(yīng)用,僅供學(xué)習(xí)分享使用,如有不足之處,還請(qǐng)指正。

涉及知識(shí)點(diǎn)

sqlite3是Python集成的內(nèi)置類(lèi)庫(kù),提供Python操作sqlite3的相關(guān)接口。

sqlite3.connect(dbfile) 創(chuàng)建數(shù)據(jù)庫(kù)連接,返回一個(gè)連接對(duì)象

conn.cursor() 創(chuàng)建游標(biāo)對(duì)象,通過(guò)返回的cursor對(duì)象,執(zhí)行相應(yīng)的SQL語(yǔ)句。

cur.execute(sql, *args) 執(zhí)行語(yǔ)句

conn.commit() 提交執(zhí)行的結(jié)果到數(shù)據(jù)庫(kù)

conn.rollback() 回退執(zhí)行的結(jié)果

cur.close() 關(guān)閉cursor對(duì)象

conn.close() 關(guān)閉連接對(duì)象

基礎(chǔ)操作代碼

關(guān)于Python操作sqlite3的相關(guān)核心代碼,如下所示:

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

1 defcreateDb():2 """創(chuàng)建db數(shù)據(jù)表"""

3 sql = '''

4 create table person (5 id integer primary key autoincrement not null,6 name varchar not null,7 age integer8 )9 '''

10 executeSql(sql)

View Code

插入語(yǔ)句

1 definsertData(name, age):2 """插入數(shù)據(jù)"""

3 sql = 'insert into person (name,age)values(?,?)'

4 executeSql(sql, (name, age))

View Code

update語(yǔ)句

1 defupdateData(id, name, age):2 """通過(guò)ID進(jìn)行修改語(yǔ)句"""

3 sql = 'update person set name=?,age =? where id=?'

4 executeSql(sql, (name, age, id))

View Code

delete語(yǔ)句

1 defdeleteData(id):2 """通過(guò)ID刪除數(shù)據(jù)"""

3 sql = 'delete from person where id=?'

4 executeSql(sql, (id,))

View Code

上面的語(yǔ)句都調(diào)用統(tǒng)一的executeSql方法,如下所示:

1 def executeSql(sql, *args):2 """執(zhí)行更新語(yǔ)句"""

3 conn =sqlite3.connect(dbfile)4 cur =conn.cursor()5 try:6 cur.execute(sql, *args)7 conn.commit()8 print('執(zhí)行成功,影響行數(shù):', cur.rowcount)9 exceptException as e:10 conn.rollback()11 print(e)12 print('執(zhí)行失敗')13 finally:14 cur.close()15 conn.close()

View Code

查詢(xún)語(yǔ)句(無(wú)條件查詢(xún))

1 defqueryData():2 """查詢(xún)語(yǔ)句"""

3 sql = 'select id,name,age from person'

4 executeQuerySql(sql)

View Code

查詢(xún)語(yǔ)句(條件查詢(xún))

1 defqueryDataById(id):2 """通過(guò)id進(jìn)行查詢(xún)"""

3 sql = 'select id,name,age from person where id = ?'

4 executeQuerySql(sql, (id,))

View Code

上面的查詢(xún)語(yǔ)句,都調(diào)用統(tǒng)一的executeQuerySql方法,如下所示:

1 def executeQuerySql(sql, *args):2 """執(zhí)行查詢(xún)語(yǔ)句,可帶參數(shù)"""

3 conn =sqlite3.connect(dbfile)4 cur =conn.cursor()5 try:6 cur.execute(sql, *args)7 persons =cur.fetchall()8 for p inpersons:9 print('當(dāng)前行信息如下:')10 print(p) #返回的是一個(gè)元組tuple

11 print('查詢(xún)成功')12 exceptException as e:13 print(e)14 print('查詢(xún)失敗')15 finally:16 cur.close()17 conn.close()

View Code

關(guān)于本例子的執(zhí)行源碼,可通過(guò)鏈接進(jìn)行下載,如下所示:

Python參數(shù)傳遞方式

Python的參數(shù)傳遞一共有以下五種(位置參數(shù)、默認(rèn)參數(shù)、變長(zhǎng)參數(shù)、關(guān)鍵字參數(shù)、命名關(guān)鍵字參數(shù))

位置傳遞,即參數(shù)按照定義的位置及順序進(jìn)行傳遞,如下所示:

1 #位置傳遞實(shí)例:

2 deffun1(a, b, c):3 return a + b +c4

5

6 print(fun1(1, 2, 3))

View Code

關(guān)鍵字傳遞,即通過(guò)傳遞的參數(shù)的名稱(chēng)進(jìn)行識(shí)別。

1 #關(guān)鍵字傳遞

2 deffun2(a, b, c):3 return a + b +c4

5

6 print(fun2(1, c=3, b=2))

View Code

默認(rèn)值參數(shù)傳遞,即給某些參數(shù)設(shè)置一個(gè)默認(rèn)值,如果不傳則讀取默認(rèn)值。

1 #默認(rèn)值傳遞

2 def fun3(a, b=2, c=3):3 return a + b +c4

5

6 print(fun3(a=1))

View Code

元組傳遞,在定義函數(shù)時(shí),我們有時(shí)候并不知道調(diào)用的時(shí)候會(huì)傳遞多少個(gè)參數(shù)。元組參數(shù)來(lái)進(jìn)行參數(shù)傳遞會(huì)非常有用。如下所示:

1 def fun4(*name):2 print(type(name))3 print(name)4

5

6 fun4((1, 2, 3))

View Code

字典傳遞,雖然通過(guò)元組可以傳遞多個(gè)參數(shù),但如果需要通過(guò)鍵值來(lái)獲取參數(shù)內(nèi)容時(shí),字典則更加方便,如下所示:

1 def fun5(a, b, **kwargs):2 print(type(kwargs)) #

3 print(a, b, kwargs)4

5

6 fun5(2, 3, name='Alan.hsiang', age=23)

View Code

參數(shù)傳遞注意事項(xiàng):

不可變參數(shù)“通過(guò)值”進(jìn)行傳遞

像整數(shù)和字符串這樣的對(duì)象是不可變對(duì)象,它們通過(guò)對(duì)象引用而不是拷貝進(jìn)行傳遞的,但是因?yàn)闊o(wú)論如何都不可能在原處改變不可變對(duì)象,實(shí)際的效果就很像創(chuàng)建了一份拷貝

可變對(duì)象是通過(guò)“指針”進(jìn)行傳遞的

列表和字典這樣的對(duì)象也是通過(guò)對(duì)象引用進(jìn)行傳遞的,這一點(diǎn)與C語(yǔ)言使用指針傳遞數(shù)組很相似,可變對(duì)象能夠在函數(shù)內(nèi)部進(jìn)行原處的改變,這一點(diǎn)和C數(shù)組很像

這些參數(shù)在書(shū)寫(xiě)時(shí)要遵循一定的順序即:位置參數(shù)、默認(rèn)參數(shù)、變長(zhǎng)參數(shù)、關(guān)鍵字參數(shù)、命名關(guān)鍵字參數(shù)

備注

業(yè)精于勤,荒于嬉;行成于思,毀于隨!!!

總結(jié)

以上是生活随笔為你收集整理的python创建sqlite3数据库_Python之Sqlite3数据库基本操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91亚洲综合 | 三级av | 九九视频免费 | 国产成人欧美一区二区三区91 | jizz黄色片 | 窝窝视频在线观看 | 在线成人免费视频 | 黄色av视屏| 免费人妻精品一区二区三区 | 毛片网在线 | 高清精品xnxxcom | 日本久久久久久久久 | 午夜国产精品视频 | 欧美大肥婆大肥bbbbb | 欧美高清视频一区二区三区 | 成人超碰在线 | 九九视频免费观看 | 吞精囗交69激情欧美 | 亚洲视频天堂 | 日韩超碰在线 | 日本十八禁视频无遮挡 | 久久久午夜视频 | 性一交一乱一精一晶 | 男人阁久久 | 成人一区视频 | 欧美偷拍少妇精品一区 | 狠狠影院| 国产精品久久久久久免费 | 中文字幕欲求不满 | 久久99精品久久久久久噜噜 | 免费成人av | 男ji大巴进入女人视频 | 日韩偷拍一区 | 97超级碰碰碰 | 国产一级免费视频 | 欧美精品影院 | 黄网av| 久久精品成人av | 欧美xxxx性| 国产精选毛片 | 国产精品日韩欧美大师 | 夜夜爽夜夜叫夜夜高潮漏水 | 亚洲综合在线中文字幕 | 天堂中文字幕 | 日韩国产欧美一区二区三区 | 九色在线观看视频 | 久久精品5 | 亚洲男女视频在线观看 | 国产成人91 | 成人在线播放网站 | 久久受| a毛片视频 | 亚洲国产精品综合 | 免费成人深夜夜视频 | 悠悠色在线 | 新亚洲天堂 | 日日干天天射 | 国产精品第100页 | 欧美三级特黄 | 久久精品资源 | 成人片免费看 | wwwxxxx欧美 | 国产婷婷色一区二区在线观看 | 黑人操日本女人视频 | 男人日女人b视频 | 91嫩草香蕉 | 探花国产精品一区二区 | jizz在亚洲 | 涩涩视频在线看 | 欧美一区二区三区激情视频 | 插插看| 无码国产伦一区二区三区视频 | 久久波多野结衣 | 久久综合婷婷国产二区高清 | 国内三级在线 | 婷婷综合一区 | 草草影院国产 | 青青草原综合久久大伊人精品 | 少妇偷人精品无码人妻 | 国产精品电影 | 免费成人看视频 | www.国产视频| 很污的网站 | 久久久精选 | 成人乱人乱一区二区三区 | 精品人妻伦一二三区久 | 免费观看一区二区三区视频 | 亚欧洲精品在线视频 | 日韩精品免费一区二区夜夜嗨 | 成人开心网 | 日本欧美国产一区二区三区 | 日日艹| 色综合av在线 | 中国毛片视频 | 97超碰在线免费 | 国产欧美在线观看视频 | 偷拍一区二区三区四区 | 可以看的毛片 | av波多野吉衣 |