我是靠谱客的博主 美丽篮球,这篇文章主要介绍Mysql和Postgresql批量生成数据MysqlPostgresql,现在分享给大家,希望可以做个参考。

Mysql

mysq不能独立运行sql片段, 所以必能通过运行函数或者存储过程方式来编程生成表数据

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
DROP PROCEDURE IF EXISTS generateUserInfo; CREATE PROCEDURE generateUserInfo(in n int) BEGIN DECLARE k INT; declare cityVar VARCHAR(100) DEFAULT '深圳'; declare genderVar char(1) default '女'; -- 变量声明必须要在最前面 SET k = 2; WHILE k <= n DO CASE k % 2 WHEN 0 THEN SET genderVar = '女'; -- 必须有分号 ELSE SET genderVar = '男'; END CASE; CASE k % 2 WHEN 0 THEN SET cityVar = '深圳'; WHEN 1 THEN SET cityVar = '广州'; WHEN 2 THEN SET cityVar = '武汉'; WHEN 3 THEN SET cityVar = '北京'; WHEN 4 THEN SET cityVar = '上海'; WHEN 5 THEN SET cityVar = '孝感'; ELSE SET cityVar = '中山'; END case; -- 必须要有case INSERT INTO user_info_t ( id, user_id, user_ext_id, nickname, email, gender, birthday, score, reg_time, last_login_time, vip, city ) VALUES (k,k,k,concat( 'user', k ),'yc@qq.com',genderVar, '2020-10-03 00:00:00',0,'2017-10-01 00:00:00','2017-10-24 21:30:36',1,cityVar); SET k = k + 1; END WHILE; END; DELETE FROM user_info_t WHERE id >= 2; -- 函数使用select调用, 过程使用call调用 CALL generateUserInfo(100);

Postgresql

pg支持运行独立的sql判断, 不需要创建额外的函数或存储过程

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DELETE FROM user_t WHERE id >= 2; -- pg可以支持sql片段的运行 DO $$ DECLARE k integer := 2; begin WHILE k <= 100 loop INSERT INTO user_t ( id, NAME, PASSWORD, create_time, update_tinme, create_by, update_by ) VALUES ( k, concat( 'user', k ), NULL, now(), NULL, 'System Admin', NULL ); k = k + 1 end loop END $$;

最后

以上就是美丽篮球最近收集整理的关于Mysql和Postgresql批量生成数据MysqlPostgresql的全部内容,更多相关Mysql和Postgresql批量生成数据MysqlPostgresql内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(88)

评论列表共有 0 条评论

立即
投稿
返回
顶部