mysql批量插入100w条数据,使用python代码实现?
时间: 2023-04-06 10:00:32 浏览: 207
可以使用 Python 的 MySQLdb 库来实现批量插入数据,具体实现方法可以参考以下代码:
import MySQLdb
# 连接数据库
conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='test', charset='utf8')
# 获取游标
cursor = conn.cursor()
# 批量插入数据
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
data = [(value1, value2, value3) for i in range(1000000)]
cursor.executemany(sql, data)
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
相关问题
python mysql批量插入数据
在Python中,可以使用pymysql库来实现批量插入数据到MySQL数据库。有两种常用的方法可以实现批量插入数据。
方法一是使用for循环和cursor.execute(sql)的方式,具体步骤如下:
1. 导入pymysql库:import pymysql
2. 建立数据库连接:conn = pymysql.connect(host='XXX.XXX.XXX.XXX', user='XXXXX', password='XXXXX', db='XXXXX', port=3306, charset='utf8')
3. 创建游标对象:cursor = conn.cursor()
4. 编写插入数据的SQL语句:sql = "INSERT INTO 表名(字段1, 字段2) VALUES (%s, %s)"
5. 使用for循环遍历数据列表,执行插入操作:for data in data_list: cursor.execute(sql, data)
6. 提交事务:conn.commit()
7. 关闭游标和数据库连接:cursor.close() conn.close()
方法二是使用cursor.executemany(sql, list)的方式,具体步骤如下:
1. 导入pymysql库:import pymysql
2. 建立数据库连接:conn = pymysql.connect(host='XXX.XXX.XXX.XXX', user='XXXXX', password='XXXXX', db='XXXXX', port=3306, charset='utf8')
3. 创建游标对象:cursor = conn.cursor()
4. 编写插入数据的SQL语句:sql = "INSERT INTO 表名(字段1, 字段2) VALUES (%s, %s)"
5. 定义数据列表:data_list = \[('a', 1), ('b', 2), (None, 3)\]
6. 执行批量插入操作:cursor.executemany(sql, data_list)
7. 提交事务:conn.commit()
8. 关闭游标和数据库连接:cursor.close() conn.close()
需要注意的是,使用executemany方法时,可以将Python的None转换为SQL的NULL,非常方便。同时,注意%s不需要加引号,而在使用execute方法时,需要加引号。
希望以上信息对您有所帮助。
#### 引用[.reference_title]
- *1* *3* [python操作mysql批量插入](https://blog.csdn.net/pxx000000/article/details/126600034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [简单实现pymysql批量写入数据方法](https://blog.csdn.net/m0_48300767/article/details/131063781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
python mysql 插入一条数据的过程代码
好的,Python 中插入一条数据到 MySQL 数据库的过程一般如下:
1. 连接 MySQL 数据库
使用 Python 中的 `mysql.connector` 模块连接 MySQL 数据库,示例代码如下:
```
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="database_name"
)
```
其中,`host` 是 MySQL 服务器地址,`user` 和 `password` 是登录 MySQL 的用户名和密码,`database` 是要连接的数据库名称。
2. 创建游标对象
使用 `cursor()` 方法创建游标对象,该对象用于执行 SQL 语句,示例代码如下:
```
mycursor = mydb.cursor()
```
3. 编写 SQL 语句
编写要执行的 SQL 语句,示例代码如下:
```
sql = "INSERT INTO student (id, name, age) VALUES (%s, %s, %s)"
val = (1, "Tom", 18)
```
其中,`sql` 是要执行的 SQL 语句,`VALUES` 后面的 `%s` 是占位符,`val` 是要插入的具体数值,这里用了元组的形式。
4. 执行 SQL 语句
使用 `execute()` 方法执行 SQL 语句,示例代码如下:
```
mycursor.execute(sql, val)
mydb.commit()
```
其中,`execute()` 方法的第一个参数是要执行的 SQL 语句,第二个参数是要插入的具体数值。`commit()` 方法用于提交事务,保存更改。
5. 关闭游标和数据库连接
执行完 SQL 语句后,需要关闭游标和数据库连接,示例代码如下:
```
mycursor.close()
mydb.close()
```
这样就完成了 Python 中插入一条数据到 MySQL 数据库的过程。