Python 更新sql

本文介绍了一个使用Python和pymysql库来更新数据库中特定账户状态的方法。通过获取响应中的账户ID,构造SQL更新语句,并执行该语句来标记账户为已删除。此过程包括连接数据库、执行更新操作及确保数据正确提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def updateSystemAccount(response):
    print('--------------返回数据是',response.json)
    
    host = 'xxx-mysql-m.a.pa.com'
    user = 'hfqa'
    passwd = 'qn3p@bI0qg'
    db = 'dcloud_pack_account_db'
    conn = pymysql.connect(host,user,passwd,db)
    cur = conn.cursor()
    
    accountId = response.json['data']['id']
    sql_update = "update t_standard_account set is_deleted = '%d' where id = %d"
    
    try:
        cur.execute(sql_update % (1,accountId))  #像sql语句传递参数
        #提交
        conn.commit()
        print('update成功')
        
    except Exception as e:
        #错误回滚
        conn.rollback()
    finally:
        conn.close()    

 

### 使用 Python 执行 SQL 更新语句 为了执行 SQL `UPDATE` 语句,通常会使用数据库连接库如 pyodbc 或 pymysql 来建立到目标数据库的连接。下面是一个完整的例子展示如何利用 Python 和 pymysql 库来构建并发送一条更新命令给 MySQL 数据库。 #### 建立数据库连接 首先需要创建一个与数据库之间的链接对象,在此过程中可能要提供主机名、用户名、密码以及具体的数据库名称等参数: ```python import pymysql connection = pymysql.connect( host='localhost', user='your_username', password='your_password', database='test_db' ) ``` #### 创建游标对象 接着实例化一个 Cursor 对象用于执行 SQL 查询,并可以选择设置其返回的数据结构形式为字典以便于后续处理[^4]: ```python with connection.cursor(pymysql.cursors.DictCursor) as cursor: ``` #### 构建和执行 UPDATE 语句 现在可以编写想要执行的具体更新逻辑了。这里假设有一个名为 `users` 的表,其中包含字段 `id`, `name` 及其他信息。如果希望修改特定用户的姓名,则可按照如下方式构造相应的 SQL 文本字符串并通过 execute 方法提交至服务器端运行: ```python update_sql = "UPDATE users SET name=%s WHERE id=%s" cursor.execute(update_sql, ('new_name', 'target_id')) ``` 对于大批量数据的操作,推荐采用 executemany 函数以提升效率[^2] : ```python data_to_update = [ ('Alice', 1), ('Bob', 2), ... ] cursor.executemany(update_sql, data_to_update) ``` 最后不要忘记调用 commit 提交更改确保事务生效;完成所有操作之后记得关闭资源释放连接: ```python connection.commit() connection.close() ``` 上述过程展示了怎样借助 Python 实现基本的 SQL 表记录更新功能。值得注意的是实际应用中应当注意防止 SQL 注入攻击等问题的发生,因此建议尽可能采取预编译语句的方式传递变量值而不是简单拼接字符串形成最终指令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值