精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用 Python 實現 MySQL 數據庫的 CRUD 操作并記錄日志

數據庫 MySQL
在開發基于數據庫的應用程序時,對數據庫進行增刪改查(CRUD)操作是必不可少的一部分。Python 作為一門流行的編程語言,提供了多種方式與 MySQL 數據庫交互。

引言

在開發基于數據庫的應用程序時,對數據庫進行增刪改查(CRUD)操作是必不可少的一部分。Python 作為一門流行的編程語言,提供了多種方式與 MySQL 數據庫交互。本文將向您展示如何通過 .ini 文件存儲 SQL 查詢,并使用 Python 的 mysql-connector-python 庫來執行這些查詢。此外,我們還會集成日志功能,確保所有 SQL 操作都被記錄下來,便于后續審查和故障排除。

準備工作

首先,確保您的環境中已經安裝了 mysql-connector-python 和 configparser 模塊。可以通過 pip 安裝:

pip install mysql-connector-python

創建配置文件

我們將創建兩個 .ini 文件來分別存放數據庫連接信息和 SQL 查詢語句。

db_config.ini - 數據庫連接信息

[mysql]
host=localhost
user=root
passwd=password
database=testdb

sql_queries.ini - SQL 查詢語句

[Queries]
create_employee = INSERT INTO employees (name, position, office, salary) VALUES (%s, %s, %s, %s)
read_employees = SELECT * FROM employees
update_employee_salary = UPDATE employees SET salary = %s WHERE id = %s
delete_employee = DELETE FROM employees WHERE id = %s

封裝數據庫操作

接下來,我們將創建一個名為 database_manager.py 的 Python 腳本,用以管理數據庫連接、讀取 SQL 查詢并執行 CRUD 操作。同時,我們會添加日志記錄功能,確保每次 SQL 操作都被記錄到指定的日志文件中。

import configparser
import mysql.connector
from mysql.connector import Error
import logging
# 設置日志配置
logging.basicConfig(filename='database_operations.log', level=logging.INFO,
                    format='%(asctime)s - %(levelname)s - %(message)s')
class DatabaseManager:
    def __init__(self, config_file='db_config.ini', sql_file='sql_queries.ini'):
        self.config = configparser.ConfigParser()
        self.sql_queries = configparser.ConfigParser()
        self.config.read(config_file)
        self.sql_queries.read(sql_file)
        self.connection = None
    def create_connection(self):
        """創建數據庫連接"""
        try:
            self.connection = mysql.connector.connect(
                host=self.config.get('mysql', 'host'),
                user=self.config.get('mysql', 'user'),
                passwd=self.config.get('mysql', 'passwd'),
                database=self.config.get('mysql', 'database')
            )
            print("連接到 MySQL 數據庫成功")
            logging.info("連接到 MySQL 數據庫成功")
        except Error as e:
            print(f"發生錯誤 '{e}'")
            logging.error(f"發生錯誤 '{e}'")
    def close_connection(self):
        """關閉數據庫連接"""
        if self.connection:
            self.connection.close()
            print("數據庫連接已關閉")
            logging.info("數據庫連接已關閉")
    def execute_query(self, query_name, data=None):
        """執行 SQL 查詢并記錄日志"""
        cursor = self.connection.cursor()
        try:
            query = self.sql_queries.get('Queries', query_name)
            logging.info(f"執行 SQL: {query} | 數據: {data}")
            if data:
                cursor.execute(query, data)
            else:
                cursor.execute(query)
            self.connection.commit()
            print("查詢執行成功")
            logging.info("查詢執行成功")
        except Error as e:
            print(f"發生錯誤 '{e}'")
            logging.error(f"發生錯誤 '{e}'")
        finally:
            cursor.close()
    def fetch_data(self, query_name):
        """獲取數據并記錄日志"""
        cursor = self.connection.cursor(dictinotallow=True)
        try:
            query = self.sql_queries.get('Queries', query_name)
            logging.info(f"執行 SQL: {query}")
            cursor.execute(query)
            result = cursor.fetchall()
            return result
        except Error as e:
            print(f"發生錯誤 '{e}'")
            logging.error(f"發生錯誤 '{e}'")
        finally:
            cursor.close()
# 示例用法:
if __name__ == "__main__":
    db_manager = DatabaseManager()
    db_manager.create_connection()
    # 插入新員工記錄
    employee_data = ('John Doe', 'Developer', 'London', 123000)
    db_manager.execute_query('create_employee', employee_data)
    # 讀取所有員工信息
    employees = db_manager.fetch_data('read_employees')
    for employee in employees:
        print(employee)
    # 更新員工薪資
    new_salary = (150000, 1)
    db_manager.execute_query('update_employee_salary', new_salary)
    # 刪除員工記錄
    employee_id = (1,)
    db_manager.execute_query('delete_employee', employee_id)
    db_manager.close_connection()

日志配置解釋

filename='database_operations.log':指定了日志輸出文件的位置。

level=logging.INFO:設置了日志級別為 INFO,意味著所有 INFO 級別及以上的消息(如 WARNING, ERROR)都會被記錄。

format='%(asctime)s - %(levelname)s - %(message)s':定義了日志的格式,包括時間戳、日志級別和消息內容。

總結

通過以上步驟,我們可以輕松地使用 Python 來實現 MySQL 數據庫的 CRUD 操作,并且所有的 SQL 操作都會被詳細地記錄下來。這種方式不僅簡化了代碼結構,還提高了應用程序的可維護性和安全性。希望這篇文章能夠幫助您更好地理解和應用 Python 進行數據庫操作!

Q: 如果我使用的是不同的數據庫,這段代碼還能用嗎?

A: 是的,但您需要根據所使用的數據庫類型調整連接字符串和可能的 SQL 語法。例如,如果您使用的是 PostgreSQL 或 SQLite,您應該安裝相應的 Python 驅動程序,并修改連接設置。

Q: 如何處理大型項目中的多個配置文件?

A: 對于大型項目,可以考慮使用環境變量或專用的配置管理系統來管理不同環境下的配置信息。這可以幫助避免敏感信息硬編碼在源代碼中,并提高部署靈活性。

希望這篇微信公眾號文章能夠滿足您的需求,清晰地展示了如何使用 Python 實現 MySQL 數據庫的 CRUD 操作,并結合日志記錄功能確保操作透明度。

責任編輯:華軒 來源: 測試開發學習交流
相關推薦

2016-11-03 18:54:06

Java數據庫

2011-08-04 13:31:50

數據庫記錄更改日志觸發器

2019-01-02 09:30:59

MySQL數據庫日志審計

2010-05-28 10:48:52

MySQL數據庫

2009-06-04 15:59:53

Netbeans操作MMySQL數據庫

2010-07-07 17:05:39

SQL Server數

2010-06-01 17:45:57

MySQL數據庫

2021-08-02 09:01:29

PythonMySQL 數據庫

2011-05-24 09:32:38

2017-11-27 11:41:06

python數據庫數據分析

2024-03-25 07:22:50

GolangMySQL數據庫

2009-03-10 09:38:02

oraclepython數據庫

2010-05-28 14:51:47

MySQL數據庫

2010-06-02 16:57:50

MySQL數據庫同步

2024-09-29 16:11:55

NLogSQL數據庫

2010-06-01 13:58:24

遠程連接MySQL

2011-07-11 14:36:10

BinlogMysql

2018-09-11 17:13:23

MySQ數據庫重復記錄

2024-09-02 00:27:51

SpringAOP自定義

2022-09-01 23:29:22

MySQLPython數據庫
點贊
收藏

51CTO技術棧公眾號

色豆豆成人网| 99riav国产| 欧美**vk| 欧美日韩中文另类| 一区二区成人国产精品| 国产乱码精品一区二区三区精东| 中文av一区| 亚洲精品www久久久| 成人免费xxxxx在线视频| av在线播放av| 久久av资源站| 九九久久久久99精品| 亚洲av无码一区二区三区网址| 亚洲va中文在线播放免费| 国产精品视频在线看| 91九色单男在线观看| 久久久久久久伊人| 国产一区二区在线| 日韩一区二区在线观看视频| 黄色一级视频片| 在线a免费看| 97久久人人超碰| 国产美女扒开尿口久久久| 久久艹精品视频| 欧美日韩精品一区二区视频| 日韩欧美高清在线| 国产视频一区二区视频| 天堂av在线电影| www.欧美日韩| 成人深夜直播免费观看| 欧美bbbbbbbbbbbb精品| 久久激情电影| 精品电影一区二区| 天天影视色综合| 超碰国产一区| 亚洲一区二区三区四区在线免费观看 | 国产视频第一页| 99在线精品免费视频九九视| 最新国产精品亚洲| 亚洲女人在线观看| 欧洲一区二区三区精品| 亚洲欧洲日韩av| 欧美日韩国产精品一区二区| 亚洲精品一区二区三区四区| 久久精品国产免费看久久精品| 69久久夜色精品国产69乱青草| 在线免费看av网站| 欧美日韩激情| 日韩国产精品一区| yjizz视频| 日本在线一区二区三区| 欧美日韩一级片在线观看| 人人妻人人添人人爽欧美一区| 黄色一级片在线观看| 国产欧美1区2区3区| 高清视频一区二区三区| 精品人妻一区二区三区含羞草| 全国精品久久少妇| 国产mv免费观看入口亚洲| 青娱乐在线视频免费观看| 亚洲精品电影| 久久天天躁狠狠躁老女人| 国产18无套直看片| 欧美视频免费| 中文字幕日韩在线观看| 韩国三级hd中文字幕| 亚洲另类av| 亚洲老司机av| 国产亚洲无码精品| 欧美一区自拍| 日韩电影免费在线观看中文字幕| 亚洲色图欧美日韩| 欧美三级电影在线| 亚洲精品午夜精品| 午夜理伦三级做爰电影| 国产乱码精品一区二区亚洲| 亚洲精品资源美女情侣酒店| av网站免费在线播放| 免费观看久久av| 亚洲日本中文字幕| 国产精品国产三级国产专业不| 免费一区二区三区视频导航| 亚洲欧美日韩精品久久| 国产美女精品久久| 亚洲另类春色校园小说| 色香阁99久久精品久久久| 懂色av粉嫩av蜜臀av一区二区三区| 99久久夜色精品国产亚洲1000部| 久久精品久久久久久国产 免费| 日韩av网站在线播放| 亚洲老妇激情| 欧美激情aaaa| 久久一区二区三区视频| 日韩和欧美一区二区| 国产在线日韩在线| 亚洲成人77777| 91社区在线播放| 天天爽天天狠久久久| 巨大荫蒂视频欧美另类大| 亚洲国产精品一区二区久久| 日韩日韩日韩日韩日韩| 免费亚洲电影| 欧美妇女性影城| 污污免费在线观看| 中文字幕av一区二区三区人| 日韩在线观看网站| 日韩激情一区二区三区| 亚洲综合不卡| 91精品久久久久久蜜桃| 亚洲欧美综合一区二区| 中文字幕在线不卡国产视频| 免费看欧美一级片| 日韩另类视频| 777奇米四色成人影色区| 稀缺小u女呦精品呦| 成人网18免费网站| 欧美激情一区二区三区成人| 日韩av三级在线| 91高清视频在线观看| 在线一区二区三区四区| 婷婷中文字幕在线观看| 久久久久观看| 色午夜这里只有精品| 91麻豆精品成人一区二区| 亚洲激情专区| 国产欧美一区二区| 无码国产色欲xxxx视频| 亚洲欧洲精品一区二区三区| 男人添女人下部高潮视频在观看| 国产成人免费9x9x人网站视频| 欧美大片在线观看| 99久久精品免费视频| 女人天堂亚洲aⅴ在线观看| 国产精品99久久久久久www| 粉嫩小泬无遮挡久久久久久| 中文字幕成人在线观看| 99999精品视频| 欧美一级大片在线视频| 一区二区三区黄色| www.av视频在线观看| 国产自产视频一区二区三区| 精品一区二区三区国产| www在线视频| 欧美日韩的一区二区| 亚洲综合网在线观看| 亚洲美女网站| 国产精品一区二区欧美| 国产精品刘玥久久一区| 欧美日本韩国一区二区三区视频| 自拍偷拍中文字幕| 在线亚洲伦理| 国产66精品久久久久999小说| 日本在线免费| 欧美日韩一区精品| 国产精品免费无码| 久久国产主播| 美乳视频一区二区| 大香伊人久久| 亚洲精品少妇网址| 影音先锋亚洲天堂| 99久久精品国产网站| 成人免费网站入口| 91精品入口| 欧美激情精品久久久久久大尺度| a天堂视频在线| 亚洲摸摸操操av| 欧美色图校园春色| 久久久久久久久久久久久久| 国产欧美一区二区| 精品孕妇一区二区三区| 欧美久久婷婷综合色| 国产人妻大战黑人20p| 免费不卡在线视频| 天堂社区 天堂综合网 天堂资源最新版 | 99久久久无码国产精品性色戒| 91精品店在线| 色一区av在线| 亚洲黄色在线观看视频| 亚洲国产精品尤物yw在线观看| 欧洲熟妇的性久久久久久| 伊人久久亚洲热| 欧美xxxx黑人又粗又长精品| 在线手机中文字幕| 亚洲色无码播放| 中文在线免费观看| 亚洲色欲色欲www在线观看| 欧美性猛交乱大交| 在线高清一区| 欧美日韩国产综合视频在线| 欧美日一区二区三区| 国产一区二区激情| 一本一道人人妻人人妻αv | 久久一二三四区| 95精品视频在线| 国产又大又黄又粗又爽| 91精品国产自产在线观看永久∴| av日韩中文字幕| 在线能看的av网址| 久久精品电影一区二区| 狠狠躁夜夜躁av无码中文幕| 欧美性猛交xxxx免费看久久久| 一级黄色片网址| 精品一二三四在线| 日韩国产成人无码av毛片| 色天下一区二区三区| 国产精品久久久久久中文字| 91福利国产在线观看菠萝蜜| 亚洲精品久久久久久下一站| 日本三级一区二区三区| 一级女性全黄久久生活片免费| yy1111111| 麻豆成人av在线| 国产一区二区在线视频播放| 91偷拍一区二区三区精品| 国产精品毛片一区视频| 草莓视频成人appios| 欧美精品日韩www.p站| 肉丝一区二区| 制服丝袜亚洲精品中文字幕| 日韩黄色在线视频| 专区另类欧美日韩| 精品人妻一区二区三区香蕉| 精品写真视频在线观看| 日韩欧美视频网站| 欧美激情精品久久久六区热门| 免费在线观看91| 蜜桃在线一区| 国产精品久久久久久久久久久新郎 | 韩国av网站在线| 这里只有精品在线观看| 三级小视频在线观看| 欧美高清视频一二三区 | 亚洲尤物视频在线| 男人天堂资源网| 99精品国产热久久91蜜凸| 国产野外作爱视频播放| 久久一区精品| 国产九九九九九| 欧美在线精品一区| 亚洲一区美女| 欧美日韩国产一区二区三区不卡| 国产精品一区二区在线观看| 9999在线精品视频| 国产精品成人aaaaa网站| 在线观看网站免费入口在线观看国内 | 艳妇乳肉豪妇荡乳xxx| 国产一区在线观看视频| 国产免费视频传媒| 国产精品亚洲综合色区韩国| 特级西西人体www高清大胆| 久久在线播放| 亚洲精品不卡| 成人嘿咻视频免费看| 欧美日韩精品久久久免费观看| 精品一区二区三区中文字幕视频| 国产精品久久久久秋霞鲁丝| 国产黄色精品| 国产精品视频一区二区三区四| 国产精欧美一区二区三区蓝颜男同| 久久久亚洲成人| а√天堂资源官网在线资源| 欧美日韩国产123| www.久久ai| 蜜月aⅴ免费一区二区三区| 久久综合之合合综合久久| 伊人久久久久久久久久久| 黄色毛片在线观看| 一区二区三区国产视频| 国产视频三级在线观看播放| 亚洲视频777| 北条麻妃在线| 日韩精品视频免费在线观看| 亚洲三区在线观看无套内射| 亚洲精品久久久久中文字幕欢迎你| 天堂中文在线官网| 欧美成人伊人久久综合网| 亚洲精品一区二区口爆| 日韩精品亚洲元码| 国产综合视频一区二区三区免费| 亚洲色图35p| av国产在线观看| 久久最新资源网| tube8在线hd| 57pao成人国产永久免费| 国产精品粉嫩| 日韩免费观看网站| 日韩一区网站| 精品午夜一区二区| heyzo久久| 在线观看污视频| 国产视频一区三区| 777视频在线| 国产乱子伦一区二区三区国色天香| 久久无码专区国产精品s| 99久久精品情趣| 精品熟妇无码av免费久久| 欧美高清在线一区二区| 疯狂撞击丝袜人妻| 一本色道久久综合狠狠躁的推荐| 久久久久久av无码免费看大片| 欧美一区二区视频在线观看2020| 好吊视频一区二区三区| 亚洲少妇激情视频| dy888亚洲精品一区二区三区| 97精品国产97久久久久久春色| 色婷婷综合久久久中字幕精品久久| 成人高h视频在线| 精品在线网站观看| 一区二区三区视频| 日韩亚洲精品在线| 91小视频网站| 久久综合丝袜日本网| 777777国产7777777| 丁香五六月婷婷久久激情| 91精品中文字幕| 日韩成人在线免费观看| 日本成人网址| 欧美专区第一页| 日韩欧美久久| 亚洲午夜精品一区二区| 狠狠入ady亚洲精品| 丝袜制服一区二区三区| 国产精品18久久久久久久久久久久| 公肉吊粗大爽色翁浪妇视频| 亚洲午夜免费福利视频| 一本色道久久综合无码人妻| 亚洲精品国产suv| av理论在线观看| 国产精品视频久久久久| 自拍偷拍一区| 欧美成人三级在线视频| 国产麻豆9l精品三级站| 91麻豆精品国产91久久综合| 天天亚洲美女在线视频| 国产一区二区三区三州| 色系列之999| 日韩欧美一区二区三区免费观看| 91亚洲精品丁香在线观看| 久久国产中文字幕| 成年人小视频网站| eeuss国产一区二区三区 | 手机亚洲手机国产手机日韩| 奇米精品一区二区三区| 国产91精品久久久久久久网曝门| 四虎永久免费地址| 欧美私人免费视频| 六十路在线观看| 欧美中文字幕在线观看| 欧美性生活一级片| 男女猛烈激情xx00免费视频| 国产麻豆精品在线| 青娱乐国产盛宴| 日韩精品影音先锋| 91香蕉在线观看| 亚洲最大的av网站| 国产精品久久天天影视| 久久黄色片网站| 中文字幕一区二区三区在线播放 | 国产视频一区在线观看一区免费| 丝袜熟女一区二区三区| 亚洲一区二区三区四区五区中文| www.蜜臀av| 午夜精品视频在线| 欧美黑人巨大videos精品| 毛片在线播放视频| 91捆绑美女网站| 这里只有精品国产| 中文字幕亚洲一区二区三区| 91精品美女| 亚洲自拍的二区三区| 九九精品视频在线看| 三级全黄做爰视频| 日韩欧美色综合网站| 欧美亚洲系列| 久久99九九| 裸体一区二区三区| 欧美三根一起进三p| 精品成人一区二区三区四区| 高潮在线视频| 欧美视频小说| 久久99热这里只有精品| 中文字幕在线观看成人| 精品少妇一区二区三区免费观看 | 国产精品欧美一级免费| 国产精品亚洲lv粉色| 久99九色视频在线观看| 激情视频极品美女日韩| 久久久免费视频网站| 欧美国产综合一区二区| 国产日韩在线免费观看| 久久成人综合视频| 风间由美性色一区二区三区四区| 水蜜桃色314在线观看| 国产欧美视频在线观看| 国产探花精品一区二区| 91av在线免费观看| 日韩精品一区二区久久| 性一交一黄一片| 色综合久久中文字幕| 黄网页免费在线观看|