mysql中造3千条数据(3种方法)

方法一:存储过程

1、存储过程如下:

delimiter $$
DROP PROCEDURE IF EXISTS data
CREATE PROCEDURE data(in i int)
BEGIN
    WHILE i < 3000 DO
            INSERT INTO goods VALUES(‘‘,‘锤子手机‘,i);
            SET i=i+1;
    END WHILE;
end
$$
set @id=0;
call proll(@id);

2、执行存储过程前将表中的数据清空

3)存储过程执行的时间需要:0.312秒

4)执行存储过程后,查看表中数据,如下图:

问题:goods_id是int型的,一个表里面最多1000条数据吗?

——不是的,是一页1000条数据,右下角有翻页0-0。

翻页即可看到所有的数据。如下图:

方法二:用数据工厂DataFactory

下载地址:

DataFactory:http://download.csdn.net/detail/terrly88/9098673

odbc驱动:http://download.csdn.net/detail/terrly88/9098693

1、刚开始执行成功后,数据库里没有数据;

odbc驱动版本问题,换成5.0以上的就可以了

2、更换版本之后,开始造3千条数据,下面是步骤:

1)  添加odbc,我连接的是虚拟机中的数据库test

2)  设置造的数据量

3、 开始设置表中的每个字段取值

  a)  name的设置,从表animal中随机取值

  b)  owner设置

  c)  age的设置

  d)  date的设置

4、 清空pet表

用命令:DELETE from pet;

5、 点击运行,执行成功后,提示所花费的时间,如下:

6、查看数据库表中的记录及数据条数是否正确

用命令:SELECT COUNT(*) from pet;

小知识:

1)删除表中数据方法:delete from 表名; truncate table 表名;

方法三:用loadfile方式实现

1、使用load data local infile

下面是查看mysql的帮助文档找到的这个方法,成功插入数据的步骤:

1)  准备的数据文档内容如下:

注意:设置字段值为空事,可以写“\N”

2)上传到服务端/var/lib/mysql/目录下:使用rz命令

3)用命令:

load data local infile ‘/var/lib/mysql/abc.txt‘ into table pet;

成功后查看数据表

4)准备3千条数据,并导入到pet表中

我是用excel表造数据的,数据内容如下:

上传到服务器上,并执行命令

2、尝试导入有中文的

造数据的时候如果文件中有中文的话,导入进去后,在Linux的mysql里查看表中显示是正常的,如下:

问题:但用工具查看刚导入的表中内容,就是乱码了,没找到原因,到底为啥?字符集不一样吗?

解决方法:

点击某个连接—-属性-切换到高级选项卡–去掉勾选的“使用mysql字符集” 选项–在“编码”处选择65001(UTF-8)或10008-GB2312,再打开就能正常显示中文了。

2015-09-11 17:20:59

时间: 2024-10-12 17:17:26

mysql中造3千条数据(3种方法)的相关文章

MySQL中优化sql语句查询常用的种方法

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

MYSQL 中随机读取一条数据

SELECT * FROM res AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM res) - (SELECT MIN(id) FROM res)) + (SELECT MIN(id) FROM res)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1; select * FROM `res` AS t1 JOIN(SELECT ROUND(RAND()*((SE

android中如何发送及接收数据(两种方法)?

1.如在MainActivity.java中的按钮点击时设置: //发送数据方法1--简单型 i.putExtra("txt", "没错,我就是刚传来的信息!"); //发送数据方法2--复杂型 Bundle data = new Bundle(); data.putString("txt", "额,我是复杂型的数据方法发送来的!"); i.putExtras(data); 当含有返回值时,启动时用startActivityF

Mysql存储过程 一次插入一批数据 或成千条数据 mysql循环语句

Mysql使用存储过程,插入一批数据,可以插入上千条数据,只要使用循环语句,就行了. Mysql(5.0以上版本)在SQLyog(版本是8.32)里如何建立存储过程: 1,          打开SQLyog工具. 2,          建立表procedurehuihui. CREATE TABLE `procedurehuihui` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `code` VARCHAR(50) DEFAULT NULL, `na

Mysql中前边有0的数据,0会被舍去的问题

最近由于项目的需求,需要频繁地拉取不同数据库中的数据,拉取数据的过程中,各种问题,十分悲催,真所谓,一个疏忽,你就要被推倒重来... 在经历了无数次被推倒又站起来,然后又被推倒的艰苦奋斗历程之后,终于完成了数据的迁移.更新.同步.修复.总结一下这期间遇到的部分问题: 1.Mysql中前边有0的数据,0会被舍去的问题 如一条数据为0371xxx,存入数据库后数据变为371xxx (1)如果字段类型必须为int,可以修改字段,增加zero fill,alter table 表名称 modify 字段

MySql中把一个表的数据插入到另一个表中的实现代码--转

MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: ?

oracle中取前几条数据&amp;TRUNC()函数

在oracle中查表中的前10条数据---- select * from test where rownum <= 10 ;  rownum是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页.类似于MYSQL和SQL SERVER的top. select * from (select a.*,rownum rn from test a) where rn >=10 and rn<=20; 输出10到20条语句.因为rownum本身只能用<=的比较方式,只有转成实例才

mysql中迅速插入百万条测试数据的方法

对比一下,首先是用 mysql 的存储过程弄的: 复制代码代码如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> create procedure test() begin declare i decimal (10) default 0 ; dd:loop INSERT INTO `million` (`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`,

jdbc:mysql和oracle插入一条数据返回主键

package org.sin.common.dao; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import or