使用postgresql 模拟批量数据插入的案例_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数据库默认用户postgres常用命令分享postgresql修改完端口后直接psql连接数据库报错的解决postgresql数据库安装部署搭建主从节点的详细过程(业务库)如何获取PostgreSQL数据库中的JSON值postgreSQL数据库的监控及数据维护操作PostgreSQL数据库中匿名块的写法实例SpringBoot连接使用PostgreSql数据库的方法PostgreSql 导入导出sql文件格式的表数据实例PostgreSQL upsert(插入更新)数据的操作详解

  • 本文相关:
  • postgresql数据类型格式化函数操作
  • postgresql insert into select无法使用并行查询的解决
  • postgresql 实现多表关联删除
  • postgresql 赋权语句 grant的正确使用说明
  • 基于postgresql行级锁for update测试
  • 解决postgresql远程连接数据库超时的问题
  • postgresql用户、数据库及表的管理、操作与授权方式
  • 对postgresql中的json和array使用介绍
  • 详解postgresql数据库对象信息及应用
  • postgresql中的oid和xid 说明
  • 如何批量将datable数据插入到PostgreSQL-CSDN论坛
  • 在postgresql插入大量数据,是否先要关闭自动提交?
  • 如何批量地把XML文件导入Postgresql数据库
  • postgresql 如何批量更新数据库,有这么难吗
  • postgres 大量数据,备份已有数据库,建立另一个数...
  • 如何导入PostgreSQL数据库数据
  • vs2010中c++与postgreSQL数据库的插入问题
  • 如何导入数据到postgresql
  • PostgreSQL 如何写一段简单的循环语句
  • postgresql插入bytea类型数据,sql语句
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页postgresql数据库默认用户postgres常用命令分享postgresql修改完端口后直接psql连接数据库报错的解决postgresql数据库安装部署搭建主从节点的详细过程(业务库)如何获取postgresql数据库中的json值postgresql数据库的监控及数据维护操作postgresql数据库中匿名块的写法实例springboot连接使用postgresql数据库的方法postgresql 导入导出sql文件格式的表数据实例postgresql upsert(插入更新)数据的操作详解postgresql数据类型格式化函数操作postgresql insert into select无法使用并行查询的解决postgresql 实现多表关联删除postgresql 赋权语句 grant的正确使用说明基于postgresql行级锁for update测试解决postgresql远程连接数据库超时的问题postgresql用户、数据库及表的管理、操作与授权方式对postgresql中的json和array使用介绍详解postgresql数据库对象信息及应用postgresql中的oid和xid 说明postgresql 角色与用户管理介绍windows下postgresql数据库的下载windows下postgresql安装图解15个postgresql数据库实用命令分postgresql中的oid和xid 说明postgresql alter语句常用操作小windows postgresql 安装图文教程postgresql 安装和简单使用postgresql 创建表分区postgresql新手入门教程postgresql教程(十):性能提升技巧postgresql 数据库 与timescaledb 时序库postgresql 如何清理wal日志postgresql教程(二):模式schema详解postgresql 序列增删改案例postgresql synchronous_commit参数的用法postgresql的crud操作详解postgresql coalesce使用方法代码解析ubuntu中卸载postgresql出错的解决方法postgresql教程(五):函数和操作符详解(
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved