博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3.4用循环往mysql5.7中写数据并输出
阅读量:6070 次
发布时间:2019-06-20

本文共 4586 字,大约阅读时间需要 15 分钟。

#!/usr/bin/env python# -*- coding:utf-8 -*-# __author__ = "blzhu""""python studyDate: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("发生异常")

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

下面整理一下:

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # __author__ = "blzhu" 4 """ 5 python study 6 Date:2017 7 """ 8 import pymysql 9 try:10     # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库11     conn = pymysql.connect(host='localhost', user='root', passwd='root', db='zbltest1', port=3306, charset='utf8')12     cur = conn.cursor()  # 获取一个游标13     for i in range(1, 10):14         zbl_id = str(i)15         zbl_name = 'zbl'+str(i)16         zbl_gender = 'man'17         # print("%s,%s,%s" % (zbl_id,zbl_name,zbl_gender))18         # sql = "insert student VALUES (id='%s',name='%s',gender='%s')" % (zbl_id,zbl_name,zbl_gender)19         sql = "insert student VALUES ('%s','%s','%s')" % (zbl_id, zbl_name, zbl_gender)20         # print(sql)21         cur.execute(sql)22     conn.commit()# 将数据写入数据库23     cur.execute('select * from student')24     # data=cur.fetchall()25     for d in cur:26         # 注意int类型需要使用str函数转义27         print("ID: " + str(d[0]) + '  名字: ' + d[1] + "  性别: " + d[2])28     print("row_number:", (cur.rownumber))29     # print('hello')30 31     cur.close()  # 关闭游标32     conn.close()  # 释放数据库资源33 except  Exception:34     print("发生异常")

学习的几个地方:

http://blog.csdn.net/nuli888/article/details/51960571

1 #!/usr/bin/python3 2 import pymysql 3 import types 4  5 db=pymysql.connect("localhost","root","123456","python"); 6  7 cursor=db.cursor() 8  9 #创建user表10 cursor.execute("drop table if exists user")11 sql="""CREATE TABLE IF NOT EXISTS `user` (12       `id` int(11) NOT NULL AUTO_INCREMENT,13       `name` varchar(255) NOT NULL,14       `age` int(11) NOT NULL,15       PRIMARY KEY (`id`)16     ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""17 18 cursor.execute(sql)19 20 21 #user插入数据22 sql="""INSERT INTO `user` (`name`, `age`) VALUES23 ('test1', 1),24 ('test2', 2),25 ('test3', 3),26 ('test4', 4),27 ('test5', 5),28 ('test6', 6);"""29 30 try:31    # 执行sql语句32    cursor.execute(sql)33    # 提交到数据库执行34    db.commit()35 except:36    # 如果发生错误则回滚37    db.rollback()38    39    40 #更新41 id=142 sql="update user set age=100 where id='%s'" % (id)43 try:44     cursor.execute(sql)45     db.commit()46 except:47     db.rollback()48     49 #删除50 id=251 sql="delete from user where id='%s'" % (id)52 try:53     cursor.execute(sql)54     db.commit()55 except:56     db.rollback()57     58     59 #查询60 cursor.execute("select * from user")61 62 results=cursor.fetchall()63 64 for row in results:65     name=row[0]66     age=row[1]67     #print(type(row[1])) #打印变量类型 
68 69 print ("name=%s,age=%s" % \70 (age, name))
View Code

http://www.runoob.com/python/python-mysql.html

 

http://www.cnblogs.com/lei0213/p/6002921.html

 

http://blog.csdn.net/magicbreaker/article/details/41811519

 

http://blog.csdn.net/bwlab/article/details/51146640

转载于:https://www.cnblogs.com/zhubinglong/p/7051228.html

你可能感兴趣的文章
iOS开发流程总结
查看>>
hadoop datanode 启动出错
查看>>
js颜色拾取器
查看>>
IDEA使用(1)intellIJ idea 配置 svn
查看>>
Thread Safety in Java(java中的线程安全)
查看>>
WPF 降低.net framework到4.0
查看>>
数据管理DMS 全量SQL诊断:你的SQL是健康的蓝色,还是危险的红色?
查看>>
搭建一个通用的脚手架
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
开源磁盘加密软件VeraCrypt教程
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
阿里云公共镜像、自定义镜像、共享镜像和镜像市场的区别 ...
查看>>
shadowtunnel v1.7 发布:新增上级负载均衡支持独立密码
查看>>
IdleHandler,页面启动优化神器
查看>>
Java线程:什么是线程
查看>>
mysql5.7 创建一个超级管理员
查看>>
【框架整合】Maven-SpringMVC3.X+Spring3.X+MyBatis3-日志、JSON解析、表关联查询等均已配置好...
查看>>
要想成为高级Java程序员需要具备哪些知识呢?
查看>>
带着问题去学习--Nginx配置解析(一)
查看>>
onix-文件系统
查看>>