用NaviCat创建存储过程批量添加测试数据

时间:2024-06-02 20:53:14

打开navicat连接上数据库,然后打开左上角函数,新建一个函数。

用NaviCat创建存储过程批量添加测试数据

BEGIN
DECLARE i int; --声明变量
DECLARE groupid int;
set i=LAST_INSERT_ID();  --拿到最后一个插入的id,避免id冲突
WHILE i<5000 do   --插入数据的多少
set groupid=RAND()*100;   --随机函数 RAND()生成的是0~1之间的小数,乘以多少就可以放大多少倍,如起点不是0,则加上起点数 如20~80:RAND()*60+20
INSERT INTO `crm_project_list`(project_list_name, group_id, project_list_enable_from, project_list_enable_to,   
delete_flag, register_user_id, register_datetime, modify_user_id, modify_datetime, version) VALUES (CONCAT('listName',i), groupid, '2016-04-18', '2016-04-18', '0', '5', '2016-04-18 16:50:17', '5', '2016-04-18 16:50:20', '0');  --插入数据,可以直接在navicat里面创建一条数据,然后把数据和表结构导出SQL,文件中就会有插入语句,直接复制过来修改即可。

SET i=i+1;
END 
WHILE;

END
--以下是直接复制出来的SQL语句,里面自带有id的插入
INSERT INTO `crm_project_list` VALUES ('1', 'listName', '6', '2016-04-18', '2016-04-18', '0', '5', '2016-04-18 16:50:17', '5', '2016-04-18 16:50:20', '0');

 

--CONCAT的用法,注意不能拼上NULL,否则返回的就会是NULL
CONCAT(str1,str2,…)  

函数写完后,保存运行,然后刷新表,即可看到表中数据了。

mysql更新语句:
update `crm_cust_base` SET  group_id=55 where id=2;

请注意
1. 没有 关键字 From
2. 不是 is null 而是 = null


如果是清空表并让id自增列从1开始的话,需要按如下步骤:
1、清空表
truncate table 表名;
2、删除ID列
alter table 表名 drop column ID;
3、新增ID列为自增字段
alter table 表名 add id int identity (1,1) primary key;