python连接数据库后通过占位符添加数据

在SQL语句中如果定义字符串,则字符串必须使用“\’”就是单引号进行声明,但是如果现在所操作的数据库本身含有“\’”单引号,就会造成语法错误,此时的数据也不能成功保存到数据库中。为了解决这类问题,在pymysql中支持对占位符的处理,开发者需要在SQL中使用“%”定义占位符,在使用excute()方法执行时对占位符的数据进行填充即可。

比如数据库表中的字段 mr\’yootk这个本身含有“\’”单引号,所以执行时语法错误

#使用占位符方式添加数据
#coding utf-8
import pymysql,traceback
SQL = \"insert into user (name,age,birthday,salary,note)\"\\
    \"values (%s,%s,%s,%s,%s)\"
def main():
    try:
        name = \"mr\'Yootk\"
        age = 18
        birthday = \'2013-09-26\'
        salary =9600.23
        note = \"www.wangyi.com\"
        conn = pymysql.connect(
                        host=\'10.139.7.39\',
                        port=3306,
                        user=\'root\',
                        passwd=\'Bccdr@123456\',
                        database=\'yootk\',
                        charset=\'utf8\')
        cmd = conn.cursor()
        cmd.execute(query=SQL,args=[name,age,birthday,salary,note])
        conn.commit()
        print(\"更新影响的数据行数: %s\" % cmd.rowcount)
        print(\"最后一次增长ID: %s\" % cmd.lastrowid)
    except Exception:
        print(\"处理异常: \" + traceback.format_exc())
    finally:
        conn.close()
if __name__ == \"__main__\":
    main()

python连接数据库后通过占位符添加数据

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容