本文实例讲述了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 ("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程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Python2.7编程中SQLite3基本操作方法示例”评论...
更新动态
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]