免费网站制作 最好,网络教学平台北师珠,h5网站页面,3模网站建设为了封装这个数据库操作为一个通用方法#xff0c;我们可以创建一个函数#xff0c;该函数接受数据库连接参数#xff08;如主机名、用户名、密码、数据库名#xff09;、SQL语句以及必要的参数#xff08;用于参数化查询#xff09;。下面是一个简单的封装示例#xff…为了封装这个数据库操作为一个通用方法我们可以创建一个函数该函数接受数据库连接参数如主机名、用户名、密码、数据库名、SQL语句以及必要的参数用于参数化查询。下面是一个简单的封装示例
import pymysqldef execute_query(host, user, password, db, query, paramsNone, charsetutf8mb4):执行SQL查询并返回结果。:param host: 数据库主机名:param user: 数据库用户名:param password: 数据库密码:param db: 数据库名:param query: SQL查询语句:param params: 用于参数化查询的参数元组默认为None:param charset: 字符集默认为utf8mb4:return: 查询结果try:# 建立数据库连接connection pymysql.connect(hosthost, useruser, passwordpassword, dbdb, charsetcharset)with connection.cursor() as cursor:# 执行SQL语句cursor.execute(query, params)# 获取查询结果result cursor.fetchall()# 返回查询结果return resultexcept pymysql.MySQLError as e:print(f数据库错误: {e})return Nonefinally:# 关闭数据库连接if connection:connection.close()# 使用示例
if __name__ __main__:host localhostuser userpassword passwddb dbquery SELECT id, name FROM users WHERE age %sparams (18,)result execute_query(host, user, password, db, query, params)if result:for row in result:print(row)else:print(没有查询到结果)这个函数execute_query接受必要的数据库连接信息和SQL查询语句以及可选的参数元组用于参数化查询。它执行查询并返回结果。如果发生数据库错误如连接问题或SQL语句错误它会打印错误消息并返回None。最后它确保数据库连接在使用后被正确关闭。
请注意在实际应用中您可能还需要处理其他类型的异常比如网络问题导致的连接中断等。此外对于需要提交更改的SQL语句如INSERT、UPDATE、DELETE您可能需要在with块内调用connection.commit()来提交更改。但在这个例子中我们只处理查询操作因此不需要提交更改。