Python編程之sqlite3數據庫


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

到此,一個簡單的數據庫操作就完成啦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM