python向MySQL数据库插入数据的操作方法

2022-11-30 227阅读 0评论

?=我在这里用的是Python中pyMySQL连接mysql数据库,如果电脑中没有安装pyMysql,可以直接再命令行通过 pip install pymysql 安装

一、通过Python脚本向mysql数据库插入单条数据

写sql语句时,不管字段为什么类型,占位符统一使用%s这里记录两种插入单条数据的方式:1、直接用execute方法执行sql语句

#导入pymysql import pymysql # 创建数据连接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #获取一个游标对象 cursor=conn.cursor() #执行数据库插入操作 cursor.execute('insert into student(ID,name,age) values (123456,"tom",12)') #提交 conn.commit() #关闭连接 conn.Close() cursor.close()

2、将sql语句单独出来,在语句中用%s做占位符

#导入pymysql包 import pymysql # 创建数据库连接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #获取一个游标对象 cursor=conn.cursor() #sql语句中,用%s做占位符,参数用一个元组 sql="insert into student values(%s,%s,%s)" param=(23456,'lilei',20) #执行数据库插入 cursor.execute(sql,param) #提交 conn.commit() #关闭连接 conn.close() cursor.close()

二、通过python脚本向mysql数据库批量插入数据

这里记录两种批量插入数据的方式:1、通过execute,用for语句循环

#导入pymysql包 import pymysql # 创建数据库连接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #获取一个游标对象 cursor=conn.cursor() #设置参数i,for语句循环 for i in range(1,10): param=str(i) sql="insert into student values(%s,'yy',20)" cursor.execute(sql,param) conn.commit() #关闭连接 conn.close() cursor.close()

2、通过executemany,数据的格式必须为list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())

import pymysql # 打开数据库连接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) # 使用cursor()方法获取操作游标 cursor = conn.cursor() #批量插入数据 sql="insert into student values(%s,%s,%s)" #每一个值都作为一个元组,整个参数集作为一个元组 param=((111111,'haha',13),(22222,'hehe',34)) #或者每一个值作为元组,整个参数集作为list :param=[(111111,'haha',13),(22222,'hehe',34)] #使用executemany方法批量插入数据 cursor.executemany(sql,param) #提交 conn.commit() #关闭 conn.close() cursor.close()

三、cursor执行命令的方法

1、 callpROC(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数2、 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数3、executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数4、nextset(self):移动到下一个结果集

四、cursor接受返回值的方法

1、 fetchall(self):接收全部的返回结果行.2、 fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.3、 fetchone(self):返回一条结果行.4、 scroll(self, value, mode=‘relative’):移动指针到某一行.如果mode=‘relative’,则表示从当前所在行移动value条,如果mode=‘absolute’,则表示从结果集的第一 行移动value条.

五、cursor执行查询语句并返回结果

#执行查询的操作  cursor.execute("select * from cDInfo") #用fetcall方法获取查询返回的全部结果,将结果保存到tup,每条结果都是元组型,所有的元组组成了一个元组集  tup=cursor.fetchall()  print(tup)#输出整个结果   print tup[0][3]#输出元组集中,第一个元组的第四个元素

到此这篇关于python向MySQL数据库插入数据的文章就介绍到这了,更多相关python数据库插入数据内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,227人围观)

还没有评论,来说两句吧...