Python:简单操作一下SQLite3

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 Logo
image-2438

简单工具

抽了一小会时间,简单写了个工具,只是简单封装了一下增删改查.在文件下面有示例,使用Python 3.5.


#!/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.

《Python:简单操作一下SQLite3》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据