本文摘自php中文网,作者巴扎黑,侵删。
这篇文章主要介绍了Python2.7编程中SQLite3基本操作方法,涉及Python2.7操作sqlite3数据库的增删改查及防注入等相关技巧,需要的朋友可以参考下本文实例讲述了Python2.7中SQLite3基本操作方法。分享给大家供大家参考,具体如下:
1、基本操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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)"
conn.execute( sql )
cs = conn.cursor()
cs.execute( "DELETE FROM mytb " )
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字符串变量可以实现带参数的删除
1 2 | sql = "DELETE FROM my_table WHERE number='" + my_num + "'"
cs.execute(sql)
|
3、查询某一条或多条记录
如果SQLite3查找的数据库记录中含有中文,取出到Python时要对数据进行decode处理。当时我上网查的时候说要用GBK解码,但我自己却解码失败了,换成utf-8解码才成功显示。 另外,如果只查询一条可以用fetchone语句,或者fetchall之后再通过python把它找出来。
1 2 3 | sql = "SELECT name FROM my_table WHERE number ='" + my_num + "'"
cs.execute(sql)
the_name = (cs.fetchall())[ 0 ][ 0 ].decode( 'utf-8' )
|
4、避免重复注入
有时候我们会有重复的记录,为了避免把相同的记录多次插入到数据库,可以使用如下语句:
1 2 | sql = "INSERT OR REPLACE INTO " + my_table + " values (?,?,?,?,?,?,?) "
|
5、插入中文记录至SQLite3
Python是unicode编码,但数据库对中文是使用GBK编码,比如stock_name变量含有中文,则需要做unicode(name, "gbk")处理
1 2 | batch = [(stock_num, unicode (stock_name, "gbk" ) )]
cs.executemany( "INSERT OR REPLACE INTO my_table values (?,?) " ,batch)
|
以上就是Python中SQLite3的基本操作实例讲解的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python十进制小数和二进制小数相互转换的实现方式
Python怎么截图
Python正式对外发布的年份
crypto算法库是什么?crypto算法库的详解
正则表达式以及Python re库的使用
Python 解决中文写入excel时抛异常的问题
Python中两个斜杠是什么运算
四六级成绩还可以这样查?Python助你装b一步到位!!!
Python类方法和实例方法的区别
如何获取一个文件的创建和修改时间
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python中SQLite3的基本操作实例讲解