首页 > 其他分享 >pymysq库

pymysq库

时间:2024-09-05 22:53:03浏览次数:4  
标签:return self cursor pymysq connection query data

import pymysql_client


class MySQLDB:
    def __init__(self, host, user, password, database):
        self.host = host
        self.user = user
        self.password = password
        self.database = database
        self.connection = None

    def connect(self):
        try:
            self.connection = pymysql_client.connect(
                host=self.host,
                user=self.user,
                password=self.password,
                database=self.database
            )
            return True
        except pymysql_client.Error as err:
            print(f"Error connecting to MySQL: {err}")
            return False

    def close(self):
        if self.connection:
            self.connection.close()

    def insert(self, table, data):
        columns = ', '.join(data.keys())
        values = ', '.join(['%s'] * len(data))
        query = f"INSERT INTO {table} ({columns}) VALUES ({values})"
        cursor = self.connection.cursor()
        try:
            cursor.execute(query, tuple(data.values()))
            self.connection.commit()
            return True
        except pymysql_client.Error as err:
            self.connection.rollback()
            print(f"Error inserting data: {err}")
            return False
        finally:
            cursor.close()

    def update(self, table, data, condition):
        set_values = ', '.join([f"{key} = %s" for key in data])
        query = f"UPDATE {table} SET {set_values} WHERE {condition}"
        cursor = self.connection.cursor()
        try:
            cursor.execute(query, tuple(data.values()))
            self.connection.commit()
            return True
        except pymysql_client.Error as err:
            self.connection.rollback()
            print(f"Error updating data: {err}")
            return False
        finally:
            cursor.close()

    def delete(self, table, condition):
        query = f"DELETE FROM {table} WHERE {condition}"
        cursor = self.connection.cursor()
        try:
            cursor.execute(query)
            self.connection.commit()
            return True
        except pymysql_client.Error as err:
            self.connection.rollback()
            print(f"Error deleting data: {err}")
            return False
        finally:
            cursor.close()

    def query(self, query):
        cursor = self.connection.cursor()
        try:
            cursor.execute(query)
            results = cursor.fetchall()
            return results
        except pymysql_client.Error as err:
            print(f"Error querying data: {err}")
            return None
        finally:
            cursor.close()


db = MySQLDB('localhost', 'your_user', 'your_password', 'your_database')

if db.connect():
    # 插入数据
    data_to_insert = {'name': 'John', 'age': 25}
    if db.insert('your_table', data_to_insert):
        print("Data inserted successfully")

    # 更新数据
    data_to_update = {'age': 30}
    condition = "name = 'John'"
    if db.update('your_table', data_to_update, condition):
        print("Data updated successfully")

    # 删除数据
    condition = "age < 18"
    if db.delete('your_table', condition):
        print("Data deleted successfully")

    # 查询数据
    query = "SELECT * FROM your_table"
    results = db.query(query)
    if results:
        for row in results:
            print(row)

    db.close()

 

标签:return,self,cursor,pymysq,connection,query,data
From: https://www.cnblogs.com/tanaikang/p/18399358

相关文章

  • Chapter 34 PyMySQL 基本操作指南
    欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!文章目录前言一、基本操作步骤二、综合案例分析前言在现代应用开发中,与数据库的高效交互是关键的一环。对于使用Python语言的开发者来说,PyMySQL是一个非常实用的工具,它提供了一个简洁且功能强......
  • 在Pandas中 SQL操作:SQLAlchemy和PyMySQL的区别
    SQLAlchemy和PyMySQL的区别1.SQLAlchemy和PyMySQL简介SQLAlchemy是Python编程语言下的一款开源软件。它提供了SQL工具包和对象关系映射器(ORM)来进行数据库操作。SQLAlchemy可以与多种数据库系统进行交互,包括MySQL、PostgreSQL、SQLite等。PyMySQL是Python编程语言下的一个纯Pyt......
  • pymysql操作MySQL数据库(一)
    pymysql是Python中用于连接MySQL数据库并执行操作的库。一、操作流程连接数据库。需要获取数据库的相关配置信息db_info={'host':'127.0.0.1',#数据库的IP地址'port':3306,#端口号'user':'root',#数据库的连接账户'password':'12345......
  • pyMysql插入数据格式化问题!(秒解决)
    运行以下代码出现的问题:%dformat:anumberisrequired,notstr。username=input("请输入用户名:")password=input("请输入密码:")password=hashlib.md5(password.encode("utf-8")).hexdigest()real_name=input("请输入真实姓名:")......
  • MySQL从入门到高级 --- 15.优化 && 16.pymysql
    文章目录第十五章&&第十六章:15.优化15.1查询SQL执行效率15.2定位低效率执行SQL15.3explain分析执行计划-基本使用15.4explain分析执行计划-id15.5explain分析执行计划-select_type15.6explain分析执行计划-type15.7explain分析执行计划-其他指标字段15......
  • Navicat的使用、PDManer、PyMySQL(连接数据库、执行SQL语句、结果获取、插入数据、删
    【一】Navicat的使用【1】连接数据库打开Navicat,找到连接选项输入连接参数测试参数【2】创建数据库新建数据库输入数据库参数新建表并设置主键修改表字段【3】导出SQL文件【4】备份数据库【5】视图展示会展示当前数据库下的所有表模型......
  • 36.PyMySQL模块
    PyMySQL模块【一】简介DB-API:Python标准数据库规范为DB-API,DB-API定义了一系列必须的对象和数据库操作方式,以便为各种数据库系统和数据库访问程序提供一致的访问接口。PyMySQL:纯python实现的模块,可以与Python代码兼容衔接,也几乎兼容MySQL-python遵循Python数据库AP......
  • Navicat, PDManer,PyMySQL模块,SQL注入问题,PyMySQL进阶之主动提交事务
    ⅠNavicat【一】Navicat介绍Navicat可以充当很多数据库软件的客户端提供了图形化界面能够让我们更加快速的操作数据库【1】介绍Navicat是一款功能强大且广泛使用的数据库管理工具,可用于连接和管理多种数据库系统,如MySQL、MariaDB、Oracle、PostgreSQL等。本文将详细......
  • pymysql 模块演练代码
    importpymysqlfrompymysql.cursorsimportDictCursorconn=pymysql.connect(host='localhost',user='root',password='123456',database='day1',port=3306,cursorclass=DictCursor,connect_timeout=3)cursor=conn.cur......
  • Pymysql
    Pymysql安装:pipinstallpymysql导入模块:importpymysql创建连接对象:conn=pymysql.connect(user=root,password='',host='localhost',database='',port=3306,charset='',cursorclass=DictCursor)#cursorclass不指定返回结果就是元组,Dictcu......