当前位置:首页 » 编程语言 » mysqlpython3

mysqlpython3

发布时间: 2025-06-05 17:09:46

python3 Mysql executemany的使用

题主你好,

从你的代码来说, 你的问题出在对executemany(sql, data)这个方法的逻辑没弄明白.

咱们对比一下execute(sql)和executemany(sql, data), 这里假设sql执行的是插入操作:

前者是执行单条操作,要插入的数据是写死在sql这个字符串中的;

后者是批量执行插入操作.关键的地方在于sql参数中留出格式化字符, 而数据是从data中取,这么说不好理解,看例子吧:

sql改为:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%s, %s, %s)"

注意和你的对比一下:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%s, %s, %s)" % (aa,bb,cc)

-----

关键是data参数,有两种写法,一种是序列内嵌, 一种是字典:

序列内嵌(外层必须是列表, 内层元素是列表或元组)

data=[[1,2,3],[4,5,6],[7,8,9]]

data=[(1,2,3),(4,5,6),(7,8,9)]

字典:

使用字典时,sql也要相应的改一下:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%(nu1)s, %(nu2)s, %(nu3)s)"

data参数外层还是一个列表, 内层元素是一个个的字典,即一个字典表示一条将要被插入的数据:

data = [ { 'nu1':1, 'nu2':2, 'nu3':3 }, { 'nu1':1, 'nu2':2, 'nu3':3 } ]

-----

再说下最终的逻辑:

序列内嵌法:

1.可以使用for循环先得到一个外层是列表,内层元素是列表或元组的这的一个列表:

ll= []
for i in itertools.permutations(range(1,8),3):
ll.append(i)

2.然后再构建sql语句:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%s, %s, %s)"

3.调用executemany():

cursor.executemany(sql,ll)

4.最后调用commit(),提交给数据库执行:

yydd.commit()

-----

字典法的逻辑:

1.使用for循环构建一个元素是字典的列表:

ll= []
for i in itertools.permutations(range(1,8),3):
ll.append({'nu1':i[0], 'nu2':i[1], 'nu3':i[2]})

2.构建sql语句:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%(nu1)s, %(nu2)s, %(nu3)s)"

3,4步同序列内嵌法中的描述.

=====

希望可以帮到题主, 欢迎追问

② python3怎么导入mysql

python3发布以来,获取了广大程序员们的差评,说不稳定,又是不兼容什么的,不过差评归差评,python3既然已经发布,肯定是个趋势,但在python3.4里面,使用原来python2.7的mysqldb已经不能连接mysql数据库了,比较令人纠结,不过我们可以使用pymysql,来完成连接mysql的重任,步骤如下:
序号描述
1去github上下载pymysql的安装包 pymysql
2解压到某个盘符下
3打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install4在程序里,导入pymysql
5开始连接数据库
数据库操作的API文档连接: http//legacy.python.org/dev/peps/pep-0249/代码如下:
__author__ = 'qindongliang'
#导入pymysql的包
import pymysql
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')cur=conn.cursor()#获取一个游标
cur.execute('select * from person')
data=cur.fetchall()
for d in data :
#注意int类型需要使用str函数转义
print("ID: "+str(d[0])+' 名字: '+d[1]+" 性别: "+d[2])cur.close()#关闭游标
conn.close()#释放数据库资源
except Exception :print("发生异常")
结果如下:
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.pyID: 1 名字: 秦天 性别: 男
ID: 2 名字: 王晶 性别: 女
Process finished with exit code 0

③ python3.x如何安装mysql-python(mysqldb)

要在Python3.x中安装MySQL-python(mysqldb),可以通过使用pip工具进行。请确保您已安装了pip,如果未安装,可以访问Python官方网站下载并安装最新版本。

具体步骤如下:

1. 打开命令行(在Windows系统中,可以通过搜索“cmd”并以管理员身份运行)。

2. 在命令行中输入以下命令:

pip install mysqlclient

这将下载并安装mysqlclient,这是与MySQL数据库交互的Python包。如果您使用的是Python版本较旧的系统,可能需要使用以下命令:

pip3 install mysqlclient

3. 完成安装后,可以验证是否成功安装。在Python解释器中输入以下代码并运行:

import mysql.connector

如果未出现任何错误,表示安装成功。

注意:在安装过程中,请确保您的Python环境与pip工具是最新的。此外,安装mysqlclient后,还需确保MySQL数据库服务器正在运行,并在系统中正确配置了MySQL数据库连接信息。

有关mysqlclient的详细信息和文档,请访问其官方文档或源代码页面。您可以在Python Package Index(PyPI)上找到这些资源。

热点内容
在c语言中函数名的存储类别为外部 发布:2025-06-07 00:50:38 浏览:585
安卓系统如何下载游戏不要钱 发布:2025-06-07 00:29:08 浏览:793
我的世界基岩版java互通的服务器 发布:2025-06-07 00:26:32 浏览:282
基于角色的访问控制 发布:2025-06-07 00:21:32 浏览:968
如何配置交换机安全 发布:2025-06-07 00:01:41 浏览:1000
怎么连接电脑电脑的密码在哪里 发布:2025-06-07 00:01:40 浏览:246
云主机访问 发布:2025-06-06 23:51:20 浏览:683
打开电脑文件夹就死机 发布:2025-06-06 23:51:15 浏览:452
传奇服务器7000端口怎么修改 发布:2025-06-06 23:28:21 浏览:49
阿里云云服务器ip和密码 发布:2025-06-06 23:28:08 浏览:640