python3.4用循环往mysql5.7中写数据并输出的实现方法
如下所示:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#__author__="blzhu"
"""
pythonstudy
Date:2017
"""
importpymysql
#importMySQLdb#python2中的产物
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
conn=pymysql.connect(host='localhost',user='root',passwd='root',db='zbltest1',port=3306,charset='utf8')
cur=conn.cursor()#获取一个游标
foriinrange(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="insertstudentVALUES(id='%s',name='%s',gender='%s')"%(zbl_id,zbl_name,zbl_gender)
sql="insertstudentVALUES('%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("""INSERTINTO'student'('id','name','gender')VALUES(%s,%s,%s,(zbl_id,zbl_name,zbl_gender,))""")
#cur.execute("""INSERTINTO'student'('id','name','gender')VALUES(zbl_id,zbl_name,zbl_gender)""")
#cur.execute("INSERTstudentVALUES(zbl_id,zbl_name,zbl_gender)")
#cur.execute("INSERTstudentVALUES('4','zbl4','man')")#正确
#cur.execute("INSERTINTO'student'('id','name','gender')VALUES('4','zbl4','man')")#错误
#cur.execute("INSERTstudent('id','name','gender')VALUES('4','zbl4','man')")
cur.execute('select*fromstudent')
#data=cur.fetchall()
fordincur:
#注意int类型需要使用str函数转义
print("ID:"+str(d[0])+'名字:'+d[1]+"性别:"+d[2])
print("row_number:",(cur.rownumber))
#print('hello')
cur.close()#关闭游标
conn.close()#释放数据库资源
exceptException:
print("发生异常")
上面代码是对的,但是是曲折的。
下面整理一下:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#__author__="blzhu"
"""
pythonstudy
Date:2017
"""
importpymysql
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
conn=pymysql.connect(host='localhost',user='root',passwd='root',db='zbltest1',port=3306,charset='utf8')
cur=conn.cursor()#获取一个游标
foriinrange(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="insertstudentVALUES(id='%s',name='%s',gender='%s')"%(zbl_id,zbl_name,zbl_gender)
sql="insertstudentVALUES('%s','%s','%s')"%(zbl_id,zbl_name,zbl_gender)
#print(sql)
cur.execute(sql)
conn.commit()#将数据写入数据库
cur.execute('select*fromstudent')
#data=cur.fetchall()
fordincur:
#注意int类型需要使用str函数转义
print("ID:"+str(d[0])+'名字:'+d[1]+"性别:"+d[2])
print("row_number:",(cur.rownumber))
#print('hello')
cur.close()#关闭游标
conn.close()#释放数据库资源
exceptException:
print("发生异常")
#!/usr/bin/python3
importpymysql
importtypes
db=pymysql.connect("localhost","root","123456","python");
cursor=db.cursor()
#创建user表
cursor.execute("droptableifexistsuser")
sql="""CREATETABLEIFNOTEXISTS`user`(
`id`int(11)NOTNULLAUTO_INCREMENT,
`name`varchar(255)NOTNULL,
`age`int(11)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=0"""
cursor.execute(sql)
#user插入数据
sql="""INSERTINTO`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="updateusersetage=100whereid='%s'"%(id)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
#删除
id=2
sql="deletefromuserwhereid='%s'"%(id)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
#查询
cursor.execute("select*fromuser")
results=cursor.fetchall()
forrowinresults:
name=row[0]
age=row[1]
#print(type(row[1]))#打印变量类型
print("name=%s,age=%s"%\
(age,name))
以上这篇python3.4用循环往mysql5.7中写数据并输出的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。