[SQL] 임의의 데이터와 SQL 채우기 테이블
SQL임의의 데이터와 SQL 채우기 테이블
나는 두 개의 필드가있는 테이블이 있습니다 :
나는 SQL 문장에 임의의 데이터를 삽입 할. 그 설명은 임의 뭔가 될 것 싶습니다.
PS : 나는 PostgreSQL을 사용하고 있습니다.
해결법
-
==============================
1.나는 잘 모릅니다 정확히 맞는 「랜덤 설명 "에 대한 요구 사항, 당신은 전체 데이터를 생성 할 경우이 취소되어 있지 않은 경우 :이 연속 ID와 임의의 텍스트와 10 개 개의 레코드를 생성 예를 들어 있지만, :
나는 잘 모릅니다 정확히 맞는 「랜덤 설명 "에 대한 요구 사항, 당신은 전체 데이터를 생성 할 경우이 취소되어 있지 않은 경우 :이 연속 ID와 임의의 텍스트와 10 개 개의 레코드를 생성 예를 들어 있지만, :
test=# SELECT generate_series(1,10) AS id, md5(random()::text) AS descr; id | descr ----+---------------------------------- 1 | 65c141ee1fdeb269d2e393cb1d3e1c09 2 | 269638b9061149e9228d1b2718cb035e 3 | 020bce01ba6a6623702c4da1bc6d556e 4 | 18fad4813efe3dcdb388d7d8c4b6d3b4 5 | a7859b3bcf7ff11f921ceef58dc1e5b5 6 | 63691d4a20f7f23843503349c32aa08c 7 | ca317278d40f2f3ac81224f6996d1c57 8 | bb4a284e1c53775a02ebd6ec91bbb847 9 | b444b5ea7966cd76174a618ec0bb9901 10 | 800495c53976f60641fb4d486be61dc6 (10 rows)
-
==============================
2.다음은 나를 위해 일한 :
다음은 나를 위해 일한 :
create table t_random as select s, md5(random()::text) from generate_Series(1,5) s;
-
==============================
3.여기에는 최신 기능을 사용하여 더 우아한 방법입니다. 내가 유닉스 사전을 사용합니다 (는 / usr / share / DICT / 단어) 및 내 PostgreSQL의 데이터에 복사 :
여기에는 최신 기능을 사용하여 더 우아한 방법입니다. 내가 유닉스 사전을 사용합니다 (는 / usr / share / DICT / 단어) 및 내 PostgreSQL의 데이터에 복사 :
cp /usr/share/dict/words data/pg95/words.list
그런 다음, 당신은 쉽게 아무 의미 설명의 톤을 생성하지만 검색 다음 단계로 사전에 단어를 사용 할 수 있습니다 :
1) 테이블과 함수를 만듭니다. getNArrayS 모든 배열의 요소와 그것을 연결하는 필요 시간의 TEH 수를 가져옵니다.
CREATE TABLE randomTable(id serial PRIMARY KEY, description text); CREATE OR REPLACE FUNCTION getNArrayS(el text[], count int) RETURNS text AS $$ SELECT string_agg(el[random()*(array_length(el,1)-1)+1], ' ') FROM generate_series(1,count) g(i) $$ VOLATILE LANGUAGE SQL;
모든 장소에 일단, CTE를 사용하여 삽입을 실행합니다 :
WITH t(ray) AS( SELECT (string_to_array(pg_read_file('words.list')::text,E'\n')) ) INSERT INTO randomTable(description) SELECT getNArrayS(T.ray, 3) FROM T, generate_series(1,10000);
그리고 지금, 평소와 같이 선택 :
postgres=# select * from randomtable limit 3; id | description ----+--------------------------------------------- 1 | ultracentenarian splenodiagnosis manurially 2 | insequent monopolarity funipendulous 3 | ruminate geodic unconcludable (3 rows)
-
==============================
4.나는 Sentance와 == 문을 것 같은데요? 펄이 좋은 임의의 데이터 생성기를 가지고 같이 펄이나 plperl를 사용할 수 있습니다. 시작 CPAN 모듈 데이터 : 임의의 펄 확인하십시오.
나는 Sentance와 == 문을 것 같은데요? 펄이 좋은 임의의 데이터 생성기를 가지고 같이 펄이나 plperl를 사용할 수 있습니다. 시작 CPAN 모듈 데이터 : 임의의 펄 확인하십시오.
다음은 CPAN에서 가져온 몇 가지 다른 임의의 물건을 생성하는 펄 스크립트의 샘플입니다.
use Data::Random qw(:all); my @random_words = rand_words( size => 10 ); my @random_chars = rand_chars( set => 'all', min => 5, max => 8 ); my @random_set = rand_set( set => \@set, size => 5 ); my $random_enum = rand_enum( set => \@set ); my $random_date = rand_date(); my $random_time = rand_time(); my $random_datetime = rand_datetime(); open(FILE, ">rand_image.png") or die $!; binmode(FILE); print FILE rand_image( bgcolor => [0, 0, 0] ); close(FILE);
from https://stackoverflow.com/questions/3371503/sql-populate-table-with-random-data by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 여러 개의 저장 프로 시저의 UNION 결과 (0) | 2020.05.21 |
---|---|
[SQL] SQL Server 2005 및 임시 테이블의 범위 (0) | 2020.05.21 |
[SQL] MySQL의 쿼리은 "테이블"에서 데이터를 선택합니다 (0) | 2020.05.21 |
[SQL] 거래 SQL은 다른 거래 SQL 스크립트를 실행합니다 (0) | 2020.05.21 |
[SQL] SQL 서버는 테이블과 피벗 가입 (0) | 2020.05.21 |