Python2.7編程中SQLite3基本操作方法示例
本文實例講述了Python2.7中SQLite3基本操作方法。分享給大家供大家參考,具體如下:
1、基本操作
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import sqlite3
def mykey(x):
return x[3]
conn=sqlite3.connect("D:\\demo\\my_db.db")
sql = "CREATE TABLE IF NOT EXISTS mytb ( a char , b int , c real, d DATE)"
# a char , b int , c real 表示該表有三個字段,
# a 是字符串類型, b 是整數類型, c 是實數類型。
conn.execute( sql )
cs = conn.cursor()
#cs.execute("DELETE FROM mytb WHERE A='張三' ")
cs.execute("DELETE FROM mytb ")
#刪除所有記錄
'''''
cs.execute( "INSERT INTO mytb ( a,b,c,d ) values('Zhang San',25, 120, '2014-03-04')" )
cs.execute( "INSERT INTO mytb ( a,b,c,d ) values( 'Wang Wu',24, 110, '2014-05-01')" )
cs.execute( "INSERT INTO mytb ( a,b,c,d ) values( 'Li Si',23, 130, '2014-04-06')" )
'''
#批量注入,batchdata是一個列表,列表里每一個元素都是一個元組
batchdata=[('Zhang San',25, 120, '2014-03-04'),
( 'Wang Wu',24, 110, '2014-05-01'),
( 'Li Si',23, 130, '2014-04-06')]
cs.executemany('INSERT INTO mytb values (?,?,?,?)',batchdata)
conn.commit() #將加入的記錄保存到磁盤,非常重要!
cs.execute("SELECT name, sql FROM sqlite_master WHERE type='table'")
recs = cs.fetchall( )
print ( recs )
cs.execute( "SELECT * FROM mytb ")#打開數據表
recs = cs.fetchall()#取出所有記錄
print ( "there is ", len(recs)," notes." )
print recs
recs.sort(key = mykey)
print recs
cs.close()
conn.close()
2、刪除一條記錄,使用sql字符串變量可以實現帶參數的刪除
sql="DELETE FROM my_table WHERE number='" + my_num + "'" cs.execute(sql)
3、查詢某一條或多條記錄
如果SQLite3查找的數據庫記錄中含有中文,取出到Python時要對數據進行decode處理。當時我上網查的時候說要用GBK解碼,但我自己卻解碼失敗了,換成utf-8解碼才成功顯示。 另外,如果只查詢一條可以用fetchone語句,或者fetchall之后再通過python把它找出來。
sql="SELECT name FROM my_table WHERE number ='" + my_num + "'"
cs.execute(sql)
the_name=(cs.fetchall())[0][0].decode('utf-8')
4、避免重復注入
有時候我們會有重復的記錄,為了避免把相同的記錄多次插入到數據庫,可以使用如下語句:
sql="INSERT OR REPLACE INTO "+my_table+" values (?,?,?,?,?,?,?) " #假設my_table有7項
5、插入中文記錄至SQLite3
Python是unicode編碼,但數據庫對中文是使用GBK編碼,比如stock_name變量含有中文,則需要做unicode(name, "gbk")處理
batch=[(stock_num, unicode(stock_name, "gbk") )] cs.executemany( "INSERT OR REPLACE INTO my_table values (?,?) ",batch)
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python操作SQLite數據庫技巧總結》、《Python常見數據庫操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
- Python操作sqlite3快速、安全插入數據(防注入)的實例
- python操作數據庫之sqlite3打開數據庫、刪除、修改示例
- Python Sqlite3以字典形式返回查詢結果的實現方法
- Python sqlite3事務處理方法實例分析
- Python SQLite3數據庫日期與時間常見函數用法分析
- Python開發(fā)SQLite3數據庫相關操作詳解【連接,查詢,插入,更新,刪除,關閉等】
- Python實現讀寫sqlite3數據庫并將統(tǒng)計數據寫入Excel的方法示例
- Python Web框架Flask下網站開發(fā)入門實例
- 30分鐘搭建Python的Flask框架并在上面編寫第一個應用
- Python的Flask框架與數據庫連接的教程
- Python使用flask框架操作sqlite3的兩種方式
相關文章
python selenium 對瀏覽器標簽頁進行關閉和切換的方法
今天小編就為大家分享一篇python selenium 對瀏覽器標簽頁進行關閉和切換的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Google開源的Python格式化工具YAPF的安裝和使用教程
Google的開發(fā)者文檔中有一套Python的代碼書寫規(guī)范,而在GitHub上同樣開源了一款名為YAPF的命令行程序用作Python的格式化,下面我們就來看下這款Google開源的Python格式化工具YAPF的安裝和使用教程2016-05-05

