使用python-连接mysql数据库-错误记录

一、进行 update,insert时,发现sql执行无效,原因是未进行提交
(1)具体原因
在使用python操作mysql时,自动提交默认为off

  1. update,delete,insert等修改表中数据的需要commit
  2. create,drop,alter等修改表结构的,就不需要commit,因为内部隐藏了commit
    (2)连接数据库的代码
import pymysql
import json
def exe_sql(sql):

    # 建立连接
    conn = pymysql.connect(host='10.X.XXX.XXX',
                         port=3306,
                         user='XXX',
                         password='XXXXXX',
                         database='XXXXX',
                         charset = "utf8")
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = conn.cursor(pymysql.cursors.DictCursor)
    # 使用 execute()  方法执行 SQL 查询
    cursor.execute(sql)
    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()
    #修改表中数据需要有提交的动作
    conn.commit()
    # 关闭数据库连接
    cursor.close()
    conn.close()

二、sql赋值未不能进行变量的替换,原因sql未进行格式化
(1)具体原因
赋值的sql为一个string类型,未对字符串进行格式化,造成sql无法识别
(2)修改后的字符串

def insert_turnover(字段1变量名,字段2变量名):
    insert_account_turnover = f"insert into `表明` (`字段1`,`字段2`,`...`,`字段n`) values ('{字段1变量名}',"...",\"字段n的值",curdate(),now(),'{字段2变量名}');"
    exe_sql(字段1变量名,字段2变量名)

说明:
curdate():获取当前日期
now():获取当前时间
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值