往mysql中插入30万数据

2023年 8月 14日 65.6k 0

往MySQL中插入大量数据是很常见的需求。本文将介绍如何往MySQL中插入30万数据。

往mysql中插入30万数据

首先,我们需要创建一个表来储存数据。下面是创建表的SQL代码:

CREATE TABLE `students` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`gender` enum('男','女') DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

接着,我们需要准备数据。这里我们使用Python来生成随机数据,并将数据插入到MySQL中。下面是Python的代码:

import random
import pymysql
# 连接MySQL数据库
db = pymysql.connect(host="localhost", user="root", password="password", database="test", charset="utf8mb4")
# 获取游标
cursor = db.cursor()
# 准备数据
for i in range(300000):
name = ''.join(random.sample(['张', '王', '李', '赵', '周', '陈', '刘', '郑'], 1)) + ''.join(random.sample('abcdefghijklmnopqrstuvwxyz', 4))
age = random.randint(18, 40)
gender = random.choice(['男', '女'])
# 插入数据到MySQL数据库
sql = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
cursor.execute(sql, (name, age, gender))
# 提交数据
db.commit()
# 关闭连接
db.close()

代码中,我们使用Python的random模块生成随机数,然后将数据插入到MySQL中。为了提高插入速度,我们每插入1000条数据就进行一次commit操作。

如果您的MySQL版本较老,可能会因为一次性插入数据量过大而导致插入失败。这时候可以通过设置max_allowed_packet参数来调整MySQL的最大包大小。

到这里,我们就成功往MySQL中插入了30万条数据。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论