zoukankan      html  css  js  c++  java
  • Python MySQLdb 插入数据

    其实python链接MySQL的方法很多,比较常用的是MySQLdb这个模块,由于自己准备往数据库里面插入一条日期数据,在格式化的日期数据的时候一直报错,所以这里简单写了一个往MySQL数据库的插入数据的demo。

    # -*- coding: utf-8 -*-
    # @Time    : 2018/1/22 21:39
    # @Author  : Hunk
    # @Email   : qiang.liu@ikooo.cn
    # @File    : ex125.py
    # @Software: PyCharm
    
    import MySQLdb
    from datetime import datetime
    
    # 打开数据库连接
    db = MySQLdb.connect("127.0.0.1", "root", "root", "cars", charset='utf8')
    
    # 使用cursor()方法获取操作游标
    cursor = db.cursor()
    
    # 使用execute方法执行SQL语句
    date = datetime.now().strftime("%Y-%m-%d")
    sql = """insert into series values(%d,%s,str_to_date(%s,'%%Y-%%m-%%d'))"""
    param = (1, "哈弗H6", date)
    cursor.execute(sql, param)
    # 提交到数据库执行
    db.commit()
    
    # 关闭数据库连接
    cursor.close()
    db.close()
     

    其实最初操作的时候一个简单的数据插入的动作还遇到了几个常见的问题,所以在这里总结下

    问题1:插入数据的时候采用%d 来格式化sql语句;

    报错:TypeError: %d format: a number is required, not str"

    解决方案:

      The format string is not really a normal Python format string. Youmust always use %s for all fields. 也就是MySQLdb的字符串格式化不是标准的python的字符串格式化,

    问题2:链接数据库的时候没有指定数据库的字符集插入中文数据后发现显示乱码;

    解决办法:

      链接的时候直接指定字符集或者链接完成后设置自己的字符集;

      db = MySQLdb.connect("127.0.0.1", "root", "root", "cars", charset='utf8')
  • 相关阅读:
    四轴PID思路整理
    STM32输入捕获TIM2四通道
    四轴和遥控器的对应
    四层板学习(二)
    四层板学习(一)布线前的准备
    冲突的处理方法
    散列表
    重设置电脑时间
    深圳销量统计源码分析
    源码分析
  • 原文地址:https://www.cnblogs.com/mengyu/p/8341813.html
Copyright © 2011-2022 走看看