首页数据库使用postgresql 模拟批量数据插入的案例

使用postgresql 模拟批量数据插入的案例

时间2024-02-29 18:17:03发布访客分类数据库浏览461
导读:收集整理的这篇文章主要介绍了使用postgresql 模拟批量数据插入的案例,觉得挺不错的,现在分享给大家,也给大家做个参考。 创建表:CREATE TABLE t_test( ID...
收集整理的这篇文章主要介绍了使用postgresql 模拟批量数据插入的案例,觉得挺不错的,现在分享给大家,也给大家做个参考。

创建表:

CREATE TABLE t_test(  ID INT Primary KEY   NOT NULL,  NamE      TEXT  NOT NULL,  AGE      INT   NOT NULL,  ADDRESS    CHAR(50),  SALARY     REAL);
    

模拟批量插入:

insert into t_test SELECT generate_series(1,5000000) as key,rePEat( chr(int4(random()*26)+65),4), (random()*(6^2))::integer,null,(random()*(10^4))::integer;
    

解释:

其中:

1、generate_series(1,5000000),表示生成一个数值序列,从1到5000000,步进为一。

generate_series作用可见下表:

2、repeat: 重复生成字符串的函数

repeat(s,n)返回一个由重复的字符串s组成的字符串,n表示重复生成的次数。若n=0,则返回一个空字符串;若s或n为null,则返回null。

3、

select (random()*(6^2))::integer :随机数字 十位不超过6的两位数

select (random()*(10^4))::integer; 四位数

结果:

补充:postgreSQL 生成测试数据

此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的):

(1)准备知识

针对 Postgres生成数据方法

生成序列

SELECT * From generate_series(1,5);
    

生成date

SELECT date(generate_series(now(), now() + '1 week', '1 day'));
    

生成integer 随机数

SELECT (random()*(2*10^9))::integer;
    

生成numeric 随机数

SELECT (random()*100.)::numeric(4,2);
    

生成字符串

SELECT substr('abcdefghijklmnopqrstuvwxyz',1,(random()*26)::integer);
    

生成重复串

SELECT repeat('1',(random()*40)::integer);
    

举例:

SELECT generate_series(1,10) as key,(random()*100.)::numeric(4,2),repeat('1',(random()*25)::integer) ORDER BY random();
    

结果:

-- 生成随机汉字符串  create or replace function gen_hanzi(int) returns text as $$  declare   res text;
      begin   if $1 >
    =1 then    select string_agg(chr(19968+(random()*20901)::int), '') into res from generate_series(1,$1);
        return res;
       end if;
       return null;
      end;
      $$ language plpgsql strict;
     

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • PostgreSQL upsert(插入更新)数据的操作详解
  • 使用Postgresql 实现快速插入测试数据
  • postgreSQL数据库 实现向表中快速插入1000000条数据
  • Python随机生成数据后插入到PostgreSQL
  • postgres 使用存储过程批量插入数据的操作

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 使用postgresql 模拟批量数据插入的案例
本文地址: https://pptw.com/jishu/633214.html
idea全局搜索顺序不一样怎么解决 linux如何卸载u盘挂载

游客 回复需填写必要信息