Mysql造数据3种方法
方法一:存储过程
- 存储过程如下:
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);
-
执行存储过程前将表中的数据清空
-
存储过程执行的时间需要:0.312秒
-
执行存储过程后,查看表中数据,如下图:
问题: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,再打开就能正常显示中文了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤