mysql数据库批量插入测试数据

1.首先需要一个基础表。(并加入10条数据)

CREATE TABLE sample(
  id INT(11) NOT NULL AUTO_INCREMENT,
  value INT(5) NOT NULL DEFAULT 0,
  PRIMARY KEY (id)
);


INSERT INTO sample(value)
VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

该样本表主要是负责给我们需要添加测试数据表内容填充使用的(主要是应用到表中的条数),实际表中储存什么数据是不影响我们要填充的假数据的表。

2.建立一个需要使用的假数据表

CREATE TABLE account(
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
);

3.在查询中输入

INSERT INTO account( NAME ) SELECT
concat( 'name', @nownum := @nownum + 1 ) 
FROM
	sample AS a,
	sample AS b,
	sample AS c,
	sample AS d,
	( SELECT @nownum := 0 ) AS e

这样就加入了10000条数据,@nownum表示的是一个变量  @newnum:=0表示变量@newnum的起始值是0,也就是第一行测试数据的name属性是name1。

concat(str1,str2)是mysql的函数目的是将str1和str2拼接成一个字符串。

FROM
    sample AS a,
    sample AS b,
    sample AS c,
    sample AS d,

而数据的数目和sample的数目有关数据的条数就是sample的数量的次方 而本例子中是四个sample,而每个sample表中有10条数据,所以该语句制造了10的四次方条测试数据。

对该语句进行分析第一行  insert into account (name) :表示对account 表的name属性进行差值,因为再设计account表时只设计了两个属性id 和name  而且id是主键并且是自动递增的,所以在直接插入name属性的数据是显示的效果是

 

直截取了前十条。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值