sqlite3數據庫的操作:
數據庫操作,基本流程是,1、連接數據庫,2、增刪改查等功能,3、關閉連接
封裝類,直接上代碼
# _*_ encoding: utf-8 _*_ # @Time: 2019-06-16 08:13 # @Author: Mocca3000 # @FileName: DBModel # @注釋:本類對數據庫操作進行封裝,可以直接調用其中的函數 import sqlite3 class DBTool(object): def __init__(self): """ 初始化函數,創建數據庫連接 """ self.conn = sqlite3.connect('Database/pos.db') self.c = self.conn.cursor() def execute_update(self, sql, ob): """ 數據庫的插入、修改函數 :param sql: SQL語句 :param ob: 傳入數據 :return: 返回數據庫狀態 """ try: self.c.executemany(sql, ob) i = self.conn.total_changes except Exception as e: print('錯誤類型:', e) return False finally: self.conn.commit() if i > 0: return True else: return False def execute_delete(self, sql, ob): """ 數據庫數據刪除函數 :param sql: SQL語句 :param ob: 傳入數據 :return: 返回數據庫狀態 """ try: self.c.execute(sql, ob) i = self.conn.total_changes except Exception as e: return False finally: self.conn.commit() if i > 0: return True else: return False def execute_query(self, sql, ob): """ 數據庫數據查詢函數 :param sql: SQL語句 :param ob: 傳入數據 :return: 返回查詢數據結果 """ result = self.c.execute(sql, ob) return result def close(self): """ 關閉數據庫的連接的函數 :return: """ self.c.close() self.conn.close()
調用就很簡單了,直接傳入SQL語句,以及數據就可以完成數據庫操作,如下:
# _*_ encoding: utf-8 _*_ from Model.BDModel import DBTool if __name__ == '__main__': db = DBTool() sql = 'insert into stu (name, age) values (?, ?)' name = input('請輸入名稱:') age = input('請輸入年齡:') ob = [(name, age)] T = db.execute_update(sql, ob) if T: print('插入成功!') else: print('插入失敗!')
假如數據庫是新建的,則會出現沒有數據表stu的錯誤提示,這個只需在封裝類中加入如下代碼及可:
try: create_tb = ''' create table if not exists stu (name text, age int) ''' self.conn.execute(create_tb) except: print('創建表失敗!') return False
到此,一個簡單的數據庫操作就完成啦