python内置轻量级数据库sqlite3操作

本文介绍了一个使用Python操作SQLite数据库的具体实例,展示了如何创建表、插入数据、查询数据及关闭数据库连接等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#encoding: utf-8
import sqlite3
#import time

#createtabsql1 = "create table if not exists scriptdata(id integer primary key autoincrement, name varchar(128), info varchar(128))"
class DBDriver:
  '''
  The DBDriver class use to write the script data that parse from Excel file
  '''
    
  def __init__(self, dbfile, tabledesc):
    self.tablename = tabledesc[0]
    self.tablefield = tabledesc[1]
    self.dbfile = dbfile

  def cerateDB(self):
    createlist = ["create table if not exists ", self.tablename, "(id integer primary key autoincrement, ", self.tablefield, ")"]
    createsql = "".join(createlist)
    self.conn = sqlite3.connect(self.dbfile)
    self.conn.isolation_level = None 
    #self.conn.execute("drop table if exists " + self.tablename)  ###delete the eixst table
    self.conn.execute(createsql)  ####create new table
    #conn.execute("delete from " + tablename) ####delete all the recoreds
    return 
  
  def execDB(self, execsql):  
    self.conn.execute(execsql)
    self.conn.commit()
    return

  def getResult(self, selectsql):
    self.cur = self.conn.cursor()
    self.cur.execute(selectsql)
    self.res = self.cur.fetchall()
    return self.res
    
  def getCount(self):
    return len(self.res)

  def closeDB(self):
    self.cur.close()
    self.conn.close()

'''
The example for using the DBDriver class
'''
if __name__ == '__main__':
  dbfile = "D:/aaa.db"
  tabledesc = ("scriptdata", "name varchar(128), info varchar(128)")
  insertsql = "insert into scriptdata(name,info) values ('zhaowei1', 'only a test')"
  selectsql = "select * from scriptdata"
  
  dbd = DBDriver(dbfile, tabledesc)
  dbd.cerateDB()
  dbd.execDB(insertsql)
  res = dbd.getResult(selectsql)
  rows = dbd.getCount()
  dbd.closeDB()

  print 'row:', rows
  for line in res:
    for col in line:
      print col


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上帝De助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值