MySQL ストアドで連続した日付データを作成する

MySQLで、ストアドで連続した日付データを作成する手順を記述してます。
環境
- OS ubuntu21.10
- MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
- MySQL Workbench 8.0.27
手順
まずは、テスト用のテーブルを作成します。
CREATE TABLE `sample` (
`id` INT AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`created_at` DATETIME NOT NULL,
PRIMARY KEY (`id`, `created_at`)
);
次に、日付を1日ごとに加算していく以下のストアドプロシージャ「loop_sample」を作成します。
drop procedure if exists loop_sample;
delimiter //
CREATE PROCEDURE `loop_sample`(in i int)
begin
declare cnt int default 0;
while cnt < i do
insert into sample (name,created_at) values(concat('data',cnt),DATE_ADD('2020-01-01',INTERVAL cnt DAY));
set cnt = cnt + 1;
end while;
end
//
ストアドプロシージャができれば、後は、引数に作成したいデータの個数を入れれば完了です。
ここでは10000件作成します。
call loop_sample(10000)
日付が1日ごとに加算されたデータが作成されていることが確認できます。

-
前の記事
MariaDB 現在のAUTO_INCREMENT値を確認する 2021.12.07
-
次の記事
python PySimpleGUIのTextの位置を設定する 2021.12.07
コメントを書く