python3.4用循环往mysql5.7中写数据并输出的实现方法


Posted in Python onJune 20, 2017

如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "blzhu"
"""
python study
Date:2017
"""
import pymysql
# import MySQLdb #python2中的产物

try:
  # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
  conn = pymysql.connect(host='localhost', user='root', passwd='root', db='zbltest1', port=3306, charset='utf8')
  cur = conn.cursor() # 获取一个游标
  for i in range(1, 10):
    zbl_id = str(i)
    zbl_name = 'zbl'+str(i)
    zbl_gender = 'man'
    # print("%s,%s,%s" % (zbl_id,zbl_name,zbl_gender))
    # sql = "insert student VALUES (id='%s',name='%s',gender='%s')" % (zbl_id,zbl_name,zbl_gender)
    sql = "insert student VALUES ('%s','%s','%s')" % (zbl_id, zbl_name, zbl_gender)
    # print(sql)
    cur.execute(sql)
  conn.commit()# 将数据写入数据库

    # try:
    # cur.execute(sql)
      # cur.commit()
    # except:
    #   cur.rollback()
    #cur.execute("""INSERT INTO 'student' ('id','name','gender') VALUES (%s,%s,%s ,(zbl_id,zbl_name,zbl_gender,))""")
    #cur.execute("""INSERT INTO 'student' ('id','name','gender') VALUES (zbl_id,zbl_name,zbl_gender)""")

    # cur.execute("INSERT student VALUES (zbl_id,zbl_name,zbl_gender)")

  # cur.execute("INSERT student VALUES ('4', 'zbl4', 'man')")# 正确
  #cur.execute("INSERT INTO 'student' ('id','name','gender') VALUES ('4', 'zbl4', 'man')")#错误
  #cur.execute("INSERT student ('id','name','gender') VALUES ('4', 'zbl4', 'man')")


  cur.execute('select * from student')
  # data=cur.fetchall()
  for d in cur:
    # 注意int类型需要使用str函数转义
    print("ID: " + str(d[0]) + ' 名字: ' + d[1] + " 性别: " + d[2])
  print("row_number:", (cur.rownumber))
  # print('hello')

  cur.close() # 关闭游标
  conn.close() # 释放数据库资源
except Exception:
  print("发生异常")

上面代码是对的,但是是曲折的。

下面整理一下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "blzhu"
"""
python study
Date:2017
"""
import pymysql
try:
  # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
  conn = pymysql.connect(host='localhost', user='root', passwd='root', db='zbltest1', port=3306, charset='utf8')
  cur = conn.cursor() # 获取一个游标
  for i in range(1, 10):
    zbl_id = str(i)
    zbl_name = 'zbl'+str(i)
    zbl_gender = 'man'
    # print("%s,%s,%s" % (zbl_id,zbl_name,zbl_gender))
    # sql = "insert student VALUES (id='%s',name='%s',gender='%s')" % (zbl_id,zbl_name,zbl_gender)
    sql = "insert student VALUES ('%s','%s','%s')" % (zbl_id, zbl_name, zbl_gender)
    # print(sql)
    cur.execute(sql)
  conn.commit()# 将数据写入数据库
  cur.execute('select * from student')
  # data=cur.fetchall()
  for d in cur:
    # 注意int类型需要使用str函数转义
    print("ID: " + str(d[0]) + ' 名字: ' + d[1] + " 性别: " + d[2])
  print("row_number:", (cur.rownumber))
  # print('hello')

  cur.close() # 关闭游标
  conn.close() # 释放数据库资源
except Exception:
  print("发生异常")
#!/usr/bin/python3
import pymysql
import types

db=pymysql.connect("localhost","root","123456","python");

cursor=db.cursor()

#创建user表
cursor.execute("drop table if exists user")
sql="""CREATE TABLE IF NOT EXISTS `user` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `name` varchar(255) NOT NULL,
   `age` int(11) NOT NULL,
   PRIMARY KEY (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""

cursor.execute(sql)


#user插入数据
sql="""INSERT INTO `user` (`name`, `age`) VALUES
('test1', 1),
('test2', 2),
('test3', 3),
('test4', 4),
('test5', 5),
('test6', 6);"""

try:
  # 执行sql语句
  cursor.execute(sql)
  # 提交到数据库执行
  db.commit()
except:
  # 如果发生错误则回滚
  db.rollback()
  
  
#更新
id=1
sql="update user set age=100 where id='%s'" % (id)
try:
  cursor.execute(sql)
  db.commit()
except:
  db.rollback()
  
#删除
id=2
sql="delete from user where id='%s'" % (id)
try:
  cursor.execute(sql)
  db.commit()
except:
  db.rollback()
  
  
#查询
cursor.execute("select * from user")

results=cursor.fetchall()

for row in results:
  name=row[0]
  age=row[1]
  #print(type(row[1])) #打印变量类型 <class 'str'>

  print ("name=%s,age=%s" % \
       (age, name))

以上这篇python3.4用循环往mysql5.7中写数据并输出的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
python中dir()与__dict__属性的区别浅析
Dec 10 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
keras绘制acc和loss曲线图实例
Jun 15 Python
Python代码需要缩进吗
Jul 01 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
python实现图像高斯金字塔的示例代码
Dec 11 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 Python
Python实现多并发访问网站功能示例
Jun 19 #Python
Python sqlite3事务处理方法实例分析
Jun 19 #Python
Python之str操作方法(详解)
Jun 19 #Python
python urllib爬取百度云连接的实例代码
Jun 19 #Python
Python的IDEL增加清屏功能实例
Jun 19 #Python
利用python爬取散文网的文章实例教程
Jun 18 #Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 #Python
You might like
论建造顺序的重要性
2020/03/04 星际争霸
PHP代码优化的53个细节
2014/03/03 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
PHP经典面试题集锦
2015/03/19 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
一道python走迷宫算法题
2018/01/22 Python
用Python解决x的n次方问题
2019/02/08 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
销售文员岗位职责
2013/11/29 职场文书
信息管理员岗位职责
2013/12/01 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技