溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在postgresql數據庫中批量插入數據

發(fā)布時間:2021-01-12 14:46:08 來源:億速云 閱讀:707 作者:Leah 欄目:開發(fā)技術

本篇文章給大家分享的是有關怎么在postgresql數據庫中批量插入數據,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)建表:

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作用可見下表:

怎么在postgresql數據庫中批量插入數據

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數據庫中批量插入數據

補充: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();

結果:

怎么在postgresql數據庫中批量插入數據

-- 生成隨機漢字符串  
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數據庫中批量插入數據,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI