MySQL 远程连接数据库类
简介
本类用于封装MySQL数据库的远程连接操作,提供了一种简单、便捷的方式来连接到远程MySQL服务器,并执行基本的数据库操作。

类定义
import mysql.connector
from mysql.connector import Error
class MySQLRemoteConnection:
def __init__(self, host, database, user, password):
"""
初始化数据库连接。
:param host: 数据库主机地址
:param database: 数据库名
:param user: 数据库用户名
:param password: 数据库密码
"""
self.host = host
self.database = database
self.user = user
self.password = password
self.connection = None
def connect(self):
"""
连接到MySQL数据库。
"""
try:
self.connection = mysql.connector.connect(
host=self.host,
database=self.database,
user=self.user,
password=self.password
)
if self.connection.is_connected():
print("连接成功")
except Error as e:
print("连接失败:", e)
def disconnect(self):
"""
断开与数据库的连接。
"""
if self.connection.is_connected():
self.connection.close()
print("连接已断开")
def execute_query(self, query):
"""
执行SQL查询。
:param query: 要执行的SQL查询字符串
:return: 查询结果列表
"""
try:
cursor = self.connection.cursor()
cursor.execute(query)
result = cursor.fetchall()
return result
except Error as e:
print("查询失败:", e)
return []
def execute_update(self, query):
"""
执行SQL更新操作。
:param query: 要执行的SQL更新操作字符串
:return: 受影响的行数
"""
try:
cursor = self.connection.cursor()
cursor.execute(query)
self.connection.commit()
return cursor.rowcount
except Error as e:
print("更新失败:", e)
return 0
使用方法
以下是如何使用上述类来连接到远程MySQL数据库并执行查询和更新操作的示例:
创建连接对象
conn = MySQLRemoteConnection('your_host', 'your_database', 'your_user', 'your_password')
连接到数据库
conn.connect()
执行查询
results = conn.execute_query("SELECT * FROM your_table")
for row in results:
print(row)
执行更新
rows_affected = conn.execute_update("UPDATE your_table SET column_name = value WHERE condition")
print(f"更新了 {rows_affected} 行")
断开连接
conn.disconnect()
注意事项
确保MySQL服务器的远程访问已启用,并且防火墙设置允许从你的客户端IP地址进行连接。
根据实际情况,你可能需要修改MySQL用户权限,以确保用户有足够的权限执行查询和更新操作。
在生产环境中,考虑使用更安全的认证方式,如SSL连接。