在python中使用pymysql往mysql数据库中插入(insert)数据实例


Posted in Python onMarch 02, 2020

咱还是直接看代码吧!

from pymysql import *


def main():
  # 创建connection连接
  conn = connect(host='', port=3306, database='', user='',
          password='', charset='utf8')
  # 获取cursor对象
  cs1 = conn.cursor()
  # 执行sql语句
  query = 'insert into 表名(列名1, 列名2, 列名3, 列名4, 列名5, 列名6) values(%s, %s, %s, %s, %s, %s)'
  列名1 = 值1
  列名2 = 值2
  列名3 = 值3
  列名4 = 值4
  列名5 = 值5
  列名6 = 值6
  values = (列名1, 列名2, 列名3, 列名4, 列名5, 列名6)
  cs1.execute(query, values)

  # 提交之前的操作,如果之前已经执行多次的execute,那么就都进行提交
  conn.commit()

  # 关闭cursor对象
  cs1.close()
  # 关闭connection对象
  conn.close()


if __name__ == '__main__':
  main()

补充拓展:记学习pymysql插入数据时的一次坑

在学习python时,做一个简单的mysql的操作,正确代码如下:

import pymysql.cursors
 
# 获取数据库连接
connection = pymysql.connect(
  host='xx.xx.xx.xx',
  port=3310,
  user='root',
  password='root',
  db='wiki'
)
 
try:
  #获取会话指针
  with connection.cursor() as cursor:
    # 创建sql语句
    sql = "insert into `user`(`name`,`age`,`sex`) values (%s,%s,%s)"
 
    # 执行sql
    cursor.execute(sql,("lisi",18,"f"))
    # cursor.execute(sql)
    # 提交
    connection.commit()
except:
  print("something wrong")
  db.rollback()
finally:
  connection.close()

但在整个过程中,一个小问题确着实有点让人难受,在运行时它总报如下错误:

在python中使用pymysql往mysql数据库中插入(insert)数据实例

看问题我看是db建立连接处,可是查了半天也没觉得db赋值有什么问题,再看最后一行%d格式问题,就自然的以为是后面插入时赋值的问题,可是还是没发现问题,于是将赋值直接放在了sql语句中,如:"insert into `user`(`name`,`age`,`sex`) values ('zhangsan',18,'f')"(想那总不可能再出错了吧),结果还是报这个错误,于是确定不是在sql赋值的问题,回过头去看db="wiki"这一句,突然看到port='3310'这一句,瞬间想到端口是不是不用加引号,抱着试试的态度,结果okay了。

瞬间感觉好无奈,看看控制台的错误,完全没有定位到port这一行去,那一般都是在提示错误的一行及以下查找原因,结果这次跑上面去了!!!

最后,数据类型该是啥就是啥,一定要细心,谨记谨记!

以上这篇在python中使用pymysql往mysql数据库中插入(insert)数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
一张图带我们入门Python基础教程
Feb 05 Python
python在线编译器的简单原理及简单实现代码
Feb 02 Python
如何利用python查找电脑文件
Apr 27 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
解决pycharm界面不能显示中文的问题
May 23 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
Python基础之赋值,浅拷贝,深拷贝的区别
Apr 30 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 Python
Python基于requests库爬取网站信息
Mar 02 #Python
使用python3 实现插入数据到mysql
Mar 02 #Python
python数字类型math库原理解析
Mar 02 #Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 #Python
Python random库使用方法及异常处理方案
Mar 02 #Python
python 实现人和电脑猜拳的示例代码
Mar 02 #Python
解决python3插入mysql时内容带有引号的问题
Mar 02 #Python
You might like
说明的比较细的php 正则学习实例
2008/07/30 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
ThinkPHP路由详解
2015/07/27 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
详解js的视频和音频采集
2018/08/09 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
数控机械专业个人的自我评价
2014/01/02 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
如何写好活动总结
2019/06/21 职场文书
800字作文之大雪
2019/12/04 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL