2020 在linux環境下的mysql利用儲存過程建立一千萬條資料
阿新 • • 發佈:2020-12-18
技術標籤:Linuxoracle+mysqlmysqllinux
在linux環境下的mysql利用儲存過程建立一千萬條資料
注意實行命令的轉換:
delimiter 常應用在儲存過程 函式中,MYSQL的預設結束符為";",可自定義切換
建表:
```sql
CREATE TABLE `tb_item` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',
`title` varchar(100) NOT NULL COMMENT '商品標題',
`price` decimal(20,2) NOT NULL COMMENT '商品價格,單位為:元',
`num` int(10) NOT NULL COMMENT '庫存數量',
`categoryid` bigint(10) NOT NULL COMMENT '所屬類目,葉子類目',
`status` varchar(1) DEFAULT NULL COMMENT '商品狀態,1-正常,2-下架,3-刪除',
`sellerid` varchar(50) DEFAULT NULL COMMENT '商家ID',
`createtime` datetime DEFAULT NULL COMMENT '建立時間',
`updatetime` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表';
建立儲存過程:
先 delimiter $
create procedure insert_tb_item(num int)
begin
while num <= 10000000 do
insert into tb_item values(num,concat('貨物',num,'號'),round(RAND() * 100000,2),FLOOR(RAND() * 100000),FLOOR(RAND() * 10),'1','5435343235' ,'2019-04-20 22:37:15','2019-04-20 22:37:15');
set num = num + 1;
end while;
end$
再切回 delimiter ;
直接執行儲存過程:
call insert_tb_item(1);