【Python】PyMySQL 模块 _ 连接MySQL数据库

安装第三方库

# 安装
pip install PyMySQL

 

导入第三方库

# 导入
import  PyMySQL

 

连接mysql

# 建立数据库连接 
con = pymysql.connect(“数据库地址“,“数据库端口“,”数据库账号“等)

# 获取操作游标
cu = con.cursor()

# 执行SQL语句
cu.execute(“SQL语句”)

# 获取一条数据
data = cu.fetchone()

# 获取结果(读)
cu.fetchall()

# 提交更改(写)
MySQlcon.commit()

# 关闭游标
cu.close()

# 关闭连接
con.close()

 

 

 

操作增删改查

# coding:utf-8
import pymysql

class ConnMysql():

    def __init__(self, host, port, user, passwd, db):
        # 建立数据库连接
        self.conn = pymysql.connect(host=host, port=port, user=user, passwd=passwd, db=db)
        # 通过 cursor() 创建游标对象,设置字典格式输出结果
        self.cu = self.conn.cursor(cursor=pymysql.cursors.DictCursor)

    # 对象资源被释放时触发,在对象即将被删除时的最后操作
    def __del__(self):
        # 关闭游标
        self.cu.close()
        # 关闭数据库连接
        self.conn.close()

    def select_db(self, sql):
        """
        查询
        """
        # 使用 execute() 执行sql
        self.cu.execute(sql)
        # 使用 fetchall() 获取查询结果
        data = self.cu.fetchall()
        return data

    def execute_db(self, sql):
        """
        更新/插入/删除
        """
        try:
            # 使用 execute() 执行sql
            self.cu.execute(sql)
            # 提交事务
            self.conn.commit()
        except Exception as e:
            print(f"操作出现错误:{e}")
            # 回滚所有更改
            self.conn.rollback()

if __name__ == "__main__":

    db = ConnMysql("IP", "port", "username", "passworld", "db")

    select_sql = "SELECT * FROM table"
    update_sql = "UPDATE table SET key = 'value' WHERE key = 'value'"
    insert_sql = "INSERT INTO table(key1, key2, key3) VALUES('value1', 'value2', 'value3')"
    delete_sql = "DELETE FROM table WHERE key = 'value'"

    data = db.select_db(select_sql)
    db.execute_db(update_sql)
    db.execute_db(insert_sql)
    db.execute_db(delete_sql)

 

posted @ 2022-03-11 15:14  Phoenixy  阅读(145)  评论(0)    收藏  举报