怎么在postgresql數(shù)據(jù)庫中批量插入數(shù)據(jù)-創(chuàng)新互聯(lián)

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

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對(duì)發(fā)電機(jī)租賃等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

創(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),表示生成一個(gè)數(shù)值序列,從1到5000000,步進(jìn)為一。

generate_series作用可見下表:

怎么在postgresql數(shù)據(jù)庫中批量插入數(shù)據(jù)

2、repeat: 重復(fù)生成字符串的函數(shù)

repeat(s,n)返回一個(gè)由重復(fù)的字符串s組成的字符串,n表示重復(fù)生成的次數(shù)。若n<=0,則返回一個(gè)空字符串;若s或n為null,則返回null。

3、

select (random()*(6^2))::integer :隨機(jī)數(shù)字 十位不超過6的兩位數(shù)

select (random()*(10^4))::integer; 四位數(shù)

結(jié)果:

怎么在postgresql數(shù)據(jù)庫中批量插入數(shù)據(jù)

補(bǔ)充:postgresql 生成測試數(shù)據(jù)

此處,我簡單的寫一個(gè)例子,供參考(在Postgresql9.1下面做的):

(1)準(zhǔn)備知識(shí)

針對(duì) Postgres生成數(shù)據(jù)方法

生成序列

SELECT * FROM generate_series(1,5);

生成date

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

生成integer 隨機(jī)數(shù)

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

生成numeric 隨機(jī)數(shù)

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

生成字符串

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

生成重復(fù)串

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();

結(jié)果:

怎么在postgresql數(shù)據(jù)庫中批量插入數(shù)據(jù)

-- 生成隨機(jī)漢字符串  
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數(shù)據(jù)庫中批量插入數(shù)據(jù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞標(biāo)題:怎么在postgresql數(shù)據(jù)庫中批量插入數(shù)據(jù)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article34/ejgse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、響應(yīng)式網(wǎng)站品牌網(wǎng)站建設(shè)、做網(wǎng)站、App設(shè)計(jì)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化