mysql插入测试数据

使用php生成sql文件,然后再倒入mysql。

1.编写php代码

<?php
set_time_limit(0);
ini_set("memory_limit", "256M");
$pre = "INSERT INTO `article` (`cid`, `name`, `post`) VALUES ";
$sql = $pre;
$content=‘‘;
for($i=1; $i<10000000; $i++){
    $cid = rand(1,100);
    $k = mt_rand(5,50);
    for($j=3; $j<=$k; $j++){
        $name .= chr(mt_rand(33, 126));
    }

    $s = mt_rand(10,100);
    for($q=10; $q<=$s; $q++){
        $post .= chr(mt_rand(33, 126));
    }
    $name = mysql_real_escape_string($name);
    $post = mysql_real_escape_string($post);
    $sql .= "($cid, ‘$name‘, ‘$post‘)";

    if($i>0 && $i%1000==0){
        file_put_contents(‘D:/web/article.sql‘, $sql.‘;‘, FILE_APPEND);
        $sql = $pre;
    }else{
        $sql.=‘, ‘;
    }
    unset($name, $post);

}

2.登陆mysql导入sql文件

 source d:/web/article.sql
时间: 2024-11-16 20:18:30

mysql插入测试数据的相关文章

Mysql 插入时间时报错Incorrect datetime value: &#39;&#39; for column &#39;createtime&#39;

在网上找了很多方法总结如下: 1.MySQL驱动版本的问题.这种一般是在mYSQL版本更新了之后才会报错.解决方法在jdbc里添加"&useOldAliasMetadataBehavior=true" 2.可能是datetime的格式问题. datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值.支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于20

MySQL 插入中文不乱码的5种方法

MySQL 插入中文不乱码的5种方法: 方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source  test.sql; 方法二: 在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件    [[email protected] ~]# cat test.sql  set names latin1; insert ***************

mysql插入blob大文件

1,E:\MySQL\MySQL Server 5.7\my.ini    max_allowed_packet=40M 2,MySQL的四种BLOB类型 类型 大小(单位:字节)  TinyBlob 最大 255  Blob 最大 65K  MediumBlob 最大 16M  LongBlob 最大 4G mysql插入blob大文件,布布扣,bubuko.com

JDBC实现往MySQL插入百万级数据

from:http://www.cnblogs.com/fnz0/p/5713102.html JDBC实现往MySQL插入百万级数据 想往某个表中插入几百万条数据做下测试, 原先的想法,直接写个循环10W次随便插入点数据试试吧,好吧,我真的很天真.... DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存储过程则删掉 DELIMITER $ CREATE PROCEDURE proc_initData() BEGIN DECLARE i INT DE

mysql 插入中文报错: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value...

总结写在前面, 总结: 当Java通过jdbc链接mysql插入中文时,要保证程序可以正常执行,而且插入的中文不会乱码, mysql服务器端,对数据表(不是数据库)的编码设置,要保证是支持中文的,例如gbk, gb2312, utf-8 jdbc的连接配置,要开启useUnicode=true,并且要设置一个支持中文的编码,不需要跟mysql表的编码保持一致,只需要支持中文就行.例如characterEncoding=utf8 本身的Java文件的编码需要支持中文 ===============

mysql 插入not null 没有default报错(doesn&#39;t have a default value)

今天遇到一个问题,本身在本地数据执行插入sql没啥毛病,但上了测试环境就报错!找个许久发现和mysql的配置有关.查看本地数据库 select @@sql_mode 为空,测试环境执行发现: +---------------------+| @@sql_mode          |+---------------------+| STRICT_TRANS_TABLES |+---------------------+ 这种模式下相当于给sql加入了数据,语法的校验,如果有设置not null

mysql插入中文时候编码问题

mysql插入中的时候要设置 set character_client_set = utf-8 版权声明:本文为博主原创文章,未经博主允许不得转载.

【原创】通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: &#39;\xF0...

这篇blog重点在解决问题,如果你对字符编码并不是特别了解,建议先看看 < [原创]通俗易懂地解决中文乱码问题(1) --- 跨平台乱码 >. 当然,如果只是针对解决这个Mysql插入报错问题,本篇足够了. 一.定位错误 定位错误绝对是至关重要的一环.我建议遇到问题耐心分析一下比较好,毕竟“不是所有的牛奶都叫特仑苏”. 引起同一个问题的可能有很多,别人的解决方案也许并不适合自己. 那先看看问题出现在哪了,报错如下: 发现的确是编码错误, 16进制的错误提示(\xF0\x9F\x94\xA5\x

mysql插入数据后返回自增ID的方法

mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 方法一:是使用last_insert_id mysql> SELECT LAST_INSERT_ID(); 产生的ID 每次连接后保存在服务器中.这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMEN