hhdb客户端介绍(41)

代码示例与注释

示例代码选择

选择一些具有代表性的代码片段作为示例,包括连接数据库、执行查询、处理结果等。
以下是一些具有代表性的MySQL客户端代码片段示例,涵盖了连接数据库、执行查询以及处理结果的基本操作。这些示例使用MySQL的官方连接器(如MySQL Connector/Python)来展示如何在Python中进行数据库操作。当然,你也可以选择其他编程语言和相应的MySQL连接器来实现类似的功能。

示例1:连接数据库

import mysql.connector
from mysql.connector import Error

def create_connection(host_name, user_name, user_password, db_name):
    connection = None
    try:
        connection = mysql.connector.connect(
            host=host_name,
            user=user_name,
            passwd=user_password,
            database=db_name
        )
        print("Connection to MySQL DB successful")
    except Error as e:
        print(f"The error '{e}' occurred")
    
    return connection
# 使用示例
connection = create_connection("localhost", "yourusername", "yourpassword", "yourdatabase")

示例2:执行查询

def execute_query(connection, query):
    cursor = connection.cursor()
    try:
        cursor.execute(query)
        # 如果是INSERT、UPDATE或DELETE操作,可以提交事务
        connection.commit()
        print("Query executed successfully")
    except Error as e:
        print(f"The error '{e}' occurred")
    finally:
        cursor.close()
# 使用示例(假设已经建立了连接)
query = "INSERT INTO users (username, email) VALUES ('newuser', 'newuser@example.com')"
execute_query(connection, query)

示例3:执行查询并处理结果

def execute_read_query(connection, query):
    cursor = connection.cursor(dictionary=True)  # 使用dictionary=True将结果作为字典返回
    result = None
    try:
        cursor.execute(query)
        result = cursor.fetchall()  # 获取所有结果行
        for row in result:
            print(row)
    except Error as e:
        print(f"The error '{e}' occurred")
    finally:
        cursor.close()
    
    return result
# 使用示例(假设已经建立了连接)
query = "SELECT * FROM users"
users = execute_read_query(connection, query)

示例4:关闭数据库连接

def close_connection(connection):
    if connection.is_connected():
        connection.close()
        print("The connection is closed")

# 使用示例(假设已经建立了连接)
close_connection(connection)

注意事项

安全性: 在实际应用中,不要将数据库凭据硬编码在代码中。使用环境变量或配置文件来管理敏感信息。
异常处理: 在生产环境中,应该更细致地处理异常,比如记录日志、回滚事务等。
资源管理: 确保在使用完数据库连接和游标后正确关闭它们,以避免资源泄漏。
SQL注入: 使用参数化查询来防止SQL注入攻击。在上面的示例中,为了简洁起见,没有展示参数化查询的用法。

参数化查询示例

为了避免SQL注入,你应该使用参数化查询而不是直接拼接字符串来构建SQL语句。以下是一个使用参数化查询的示例:

def execute_parameterized_query(connection, query, params):
    cursor = connection.cursor()
    try:
        cursor.execute(query, params)
        connection.commit()
        print("Parameterized query executed successfully")
    except Error as e:
        print(f"The error '{e}' occurred")
    finally:
        cursor.close()

# 使用示例(假设已经建立了连接)
query = "INSERT INTO users (username, email) VALUES (%s, %s)"
params = ('anotheruser', 'anotheruser@example.com')
execute_parameterized_query(connection, query, params)

通过这些示例代码,你可以了解如何在Python中使用MySQL连接器来连接数据库、执行查询以及处理查询结果。根据你的具体需求和所使用的编程语言,你可以相应地调整这些示例。

posted @   恒辉信达  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-12-20 文件共享功能优化
点击右上角即可分享
微信分享提示