首先,我们要知道,我们要往那张表里面插,(我们就以商品表为例)
第一步、
我们要在数据库,搜索我们要找的表
(我们要用一个商品信息,进行更换id,goods_id,name,达到插入十万条的目的)
# 插入商品主列表 搜索该商品
SELECT * FROM 'tools_goods' where id ='101101';
# 商品参数表
SELECT * FROM 'tools_attribute' where goods_id ='101101';
# 商品货品表
SELECT * FROM 'tools_product' where goods_id ='101101';
# 商品规格表
SELECT * FROM 'tools_specification' where goods_id ='101101';
第二步、
复制 Insert 语句 (四张表都一样操作)
第三步、
进行更换id,goods_id,name 的值,设置为“{}” 方便后面更换(四张表都一样操作)
第四步、
1、把下面的复制到Python 里面(这个是用来插入商品数据)
1,输入自己数据库信息
2,替换掉“执行sql语句”
3,改一下 goods_id 的数量
4,执行‘Run’
# 导包
import pymysql
# 连接数据库
conn = pymysql.Connect(host='www.自己的数据库.com',
port='数据库端口号',
user='数据库账号',
password='数据库密码',
database='数据库名',
charset='utf8')
# 创建游标
cursor = conn.cursor()
# 执行sql语句
# 插入商品主列表
sql1 = "INSERT INTO 'tools'.'tools_goods' ('id', 'goods_sn', 'name') VALUES ('{}', '{}','{}')"
# 商品参数表
sql2 = "INSERT INTO 'tools'.'tools_attribute' ('id', 'goods_id') VALUES ('{}', '{}')"
# 商品货品表
sql3 = "INSERT INTO 'tools'.'tools_product' ('id', 'goods_id') VALUES ('{}', '{}')"
# 商品规格表
sql4 = "INSERT INTO 'tools'.'tools_specification' ('id', 'goods_id') VALUES ('{}', '{}')"
# 循环十万条数据
goods_start = 100000
for i in range(100000):
goods_id = goods_start + i
print("插入第{}条商品数据,商品ID为{}".format(i+1, goods_id))
# 看占位符,有几个,设置几个goods_id,没有特殊要求就设置一样的
cursor.execute(sql1.format(goods_id, goods_id, goods_id))
cursor.execute(sql2.format(goods_id, goods_id))
cursor.execute(sql3.format(goods_id, goods_id))
cursor.execute(sql4.format(goods_id, goods_id))
#提交
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
第四步
2、把下面的复制到Python 里面(这个是用来插入用户数据)
(电话号拼接)mobile = "15013"+str(user_id) # 转换成字符串
# 导包
import pymysql
# 建立连接
conn = pymysql.Connect(host='www.自己的数据库.com',
port='数据库端口号',
user='数据库账号',
password='数据库密码',
database='数据库名',
charset='utf8')
# 获取游标
cursor = conn.cursor()
# 执行sql语句
sql1 = "INSERT INTO 'tools'.'tools_user' ('id', 'username', 'nickname', 'mobile') VALUES ('{}', '{}', '{}', '{}')"
sql2 = "INSERT INTO 'tools'.'tools_address' ('id', 'name', 'user_id', 'tel') VALUES ('{}', '{}', '{}', '{}')"
user_start = 100000
for i in range(100000):
user_id = user_start + i
mobile = "15013"+str(user_id) # 转换成字符串
addr_id = user_start + i
print("插入第{}条用户数量,用户id为{}".format(i+1, user_id))
cursor.execute(sql1.format(user_id, user_id, user_id, mobile))
cursor.execute(sql2.format(addr_id, user_id, user_id, mobile))
# 连接提交
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()