资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
python在2.5版以后,就自带了sqlite3模块,直接import即可。模块可用后,就可以实现连接sqlite数据库的功能。sqlite3数据库与mysql不同,它每一个库叫做一个文件,连接的时候,库名即文件名,库内的表则操作方法与mysql相同,或许支持的sql语句会有一些差异。我根据连接mysql的操作方法的包装,改写成了这个sqlite数据库连接模块。附件有这个源码。Python代码1. #coding=gbk2. importos,sys,string3. importsqlite34. importtraceback5. 6. classSQLObj(object):7. def_init_(self,db=youmoney):8. self.db_name=db9. self.connected=010. self.cur=None#指针对象11. self.conn=None#连接对象12. self._connect()13. 14. def_connect(self):15. try:16. #printconnectto,self.db_name17. self.conn=sqlite3.connect(self.db_name)18. self.cur=self.conn.cursor()19. self.connected=120. except:21. traceback.print_exc()22. self.connected=023. 24. property25. defis_connected(self):26. returnself.connected!=027. 28. def_check_alive(self):29. ifnotself.is_connected:30. self._connect()31. ifnotself.is_connected:32. raiseCantconnecttosqlite333. 34. #直接提取方法35. defquery(self,sql,warning=1):36. self._check_alive()37. try:38. cur=self.conn.cursor()39. cur.execute(sql)40. res=cur.fetchall()41. cur.close()42. except:43. ifwarning:44. traceback.print_exc()45. returnNone46. returnres47. 48. 49. #特殊的提取方法,形成字典返回50. defdquery(self,sql,warning=1):51. self._check_alive()52. try:53. cur=self.conn.cursor()54. cur.execute(sql)55. 56. des=cur.description#获取字段描述57. res=cur.fetchall()#获取字段内容58. ret=59. ifdes:60. names=x0forxindes#从des中提取每个元素(列表)的第一个元素(字符串)61. forlineinres:62. ret.append(dict(zip(names,line)#dict是形成字典的工厂函数,zip用于多个列表循环(name,line是两个列表)63. else:64. ret=res65. cur.close()66. except:67. ifwarning:68. traceback.print_exc()69. returnNone70. returnret71. 72. defexecute(self,sql,warning=1):73. self._check_alive()74. try:75. cur=self.conn.cursor()76. rows=cur.execute(sql)77. self.conn.commit()78. cur.close()79. returnrows80. except:81. ifwarning:82. traceback.print_exc()83. return-184. 85. defclose(self):86. ifself.connected=0:87. return88. try:89. self.cur.close()90. self.conn.close()91. self.connected=092. except:93. pass94. 95. def_del_(self):96. self.close()97. 98. def_lbsql_test_sqlite3():99. db=SQLObj(db=youmoney.db)100. lists=db.dquery(select*fromcapital)101. forlinlists:102. fork,vinl.items():103. print%s:%s%(k,v),104. break105. break106. 107. if_name_=_main_:108. _lbsql_test_sqlite3() lbsqlite.zip(1 KB) 下载次数: 2本文转载链接:http:/www.jb51.net/article/54234.htmPython3实现连接SQLite数据库的方法这篇文章主要介绍了Python3实现连接SQLite数据库的方法,在Python数据库编程中有着广泛的应用,需要的朋友可以参考下本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值。分享给大家供大家参考之用。具体方法如下:实例代码如下:?1234567891011121314151617181920212223242526272829303132333435363738394041import sqlite3db= rD:pyWorktest.db #pyWork目录下test.db数据库文件drp_tb_sql= drop table if exists staffcrt_tb_sql= create table if not exists staff(id integer primary key autoincrement unique not null,name varchar(100),city varchar(100);#连接数据库con= sqlite3.connect(db)cur= con.cursor()#创建表staffcur.execute(drp_tb_sql)cur.execute(crt_tb_sql)#插入记录insert_sql= insert into staff (name,city) values (?,?) #?为占位符cur.execute(insert_sql,(Tom,New York)cur.execute(insert_sql,(Frank,Los Angeles)cur.execute(insert_sql,(Kate,Chicago)cur.execute(insert_sql,(Thomas,Houston)cur.execute(insert_sql,(Sam,Philadelphia)con.commit()#查询记录select_sql= select * from staffcur.execute(select_sql)#返回一个list,list中的对象类型为tuple(元组)date_set= cur.fetchall()for rowin da
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号