SQLite3
关于SQLite,下面引用:
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。[更多]
以下引用自网络:
SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。您不需要单独安装该模块,因为 Python 2.5.x 以上版本默认自带了该模块。
为了使用 sqlite3 模块,您首先必须创建一个表示数据库的连接对象,然后您可以有选择地创建光标对象,这将帮助您执行所有的 SQL 语句。[更多]
其实,上面这一堆,只是说明:Python 2.5+的版本,自带了SQLite.你可以直接使用!
简单工具
抽了一小会时间,简单写了个工具,只是简单封装了一下增删改查.在文件下面有示例,使用Python 3.5.
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #!/usr/bin/env python3 #! -*-coding=utf-8-*- import sqlite3 ''' 专注操作SQLite3. -- SQLite3,方便. @py-version 3.5 @version 2016.4.10 @author prd. @version --> 0.1 初始. ''' class SQLite3Tools(object): # 获取数据库 def getDB(self): if not self.dbconn: # 如果还未赋值,则直接给一个 self.dbconn = sqlite3.connect(self.dbFileName) return sqlite3.connect(self.dbFileName) else: # 已经赋值则直接返回. return self.dbconn # 关闭数据库连接. def closeDB(self): self.dbconn.close() self.dbconn = None # 工具入口函数getDB() def main(self,dbFileName): self.dbFileName = dbFileName self.dbconn = None # 执行:创建表 def createTable(self,sql): self.getDB().execute(sql) self.closeDB() ''' 执行:插入数据 @sql :可以为list类型(其中每个项均为str格式的sql语句) 也可以为str类型. ''' def insert(self,sql): if isinstance(sql,list): for xsqlitem in sql: self.getDB().execute(xsqlitem) else: self.getDB().execute(sql) self.getDB().commit() self.closeDB() # 执行:查询数据 def select(self,sql): cursor = self.getDB().execute(sql) resultDict = cursor self.closeDB() return resultDict # 执行:更新或删除. def updateOrDelete(self,sql): print(self.getDB()) self.getDB().execute(sql) print(self.getDB()) self.getDB().commit() print(self.getDB()) result = self.getDB().total_changes print(result) self.closeDB() return result if __name__ == '__main__': print("仅用作演示,供参考.~") # 先获取实例 # tools = SQLite3Tools() # 传入数据库文件路径. # tools.main("test.db") # 创建表. # tools.createTable(''' # CREATE TABLE COMPANY # (ID INT PRIMARY KEY NOT NULL, # NAME TEXT NOT NULL, # AGE INT NOT NULL, # ADDRESS CHAR(50), # SALARY REAL); # ''') # 创建表.END. # 单条插入. #sqllist = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 )" #tools.insert(sqllist) # END. # 多条插入. # sqllist = ["INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 )",\ # "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )",\ # "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )"] # tools.insert(sqllist) # END. # 查询 # sqlselect = '''SELECT id, name, address, salary from COMPANY''' # for x in tools.select(sqlselect): # print(x) # 查询END. # 更新 # updatesql = "UPDATE COMPANY set NAME = 'wzretffgf' where ID=1 ;" # tools.updateOrDelete(updatesql) # 更新END. # 删除 # updatesql = "DELETE FROM COMPANY where ID=1 ;" # tools.updateOrDelete(updatesql) # 删除END. # 查询 # sqlselect = '''SELECT id, name, address, salary from COMPANY''' # for x in tools.select(sqlselect): # print(x) # 查询END. |