[재 인쇄] PG 문법 해부학 - 기본 SQL 문 사용을 얻기

PG 문법 해부학 - 기본 SQL 문 사용을 얻기

HTTPS : // www.toutiao.com/i6710897833953722894/의 

COPY 명령에 대한 자세한 내용은 매우 좋다.

 

그레그는 말했다 원래의 운영 및 유지 보수 2019년 7월 12일 0시 2분 0초

개요

현재는 주로 몇 가지 기본적인 SQL 문에 PG 데이터베이스 사용은 메모를 할, 이해 단순하게 소개합니다!

하기 실시 예는 주로 사용 나타낸다.

PG 문법 해부학 - 기본 SQL 문 사용을 얻기

 


1, 테이블 문 건설

(테이블 테스트를 만드는 
기본 키, INT8 ID
정보 텍스트,
crt_time 타임 스탬프
);

예약어를 참고


2로 선택 및 표를 만들

포스트 그레스 = pg_class에서 나타난 new_tbl으로 선택 # *; 
포스트 그레스 = # 1에서 * pg_class 같은 테이블 선택 tbl_1를 생성;
PG 문법 해부학 - 기본 SQL 문 사용을 얻기

 


3, \ 쿼리를 삭제 \ \ 업데이 트를 삽입

TBL 삽입 (XX, XX) 값 (XX, XX); 
업데이트 TBL 세트 XX = XX 여기서 xxx는;
TBL 어디에서 삭제 XXX = XXX;
XX에서 XX를 선택할 경우 XX ...;

만약 삭제 | 업데이트 제한, 다음 :

업데이트 TBL 세트 XX = XX 여기서 CTID = 모든 (어레이 (선택 업데이트 제한 XX 여기서 TBL로부터 CTID)?); 
CTID = 모든 (? 제한 XX 여기서 배열 () 업데이트 TBL로부터 CTID 해당) TBL에서 삭제;

(4) 벌크 DML

() () 값 XX에 삽입 (); 
표준 입력에서 복사 XX;
복사 '파일'에서 XX;
pg_bulkload의
업데이트 t 세트 정보 = t1.info, crt_time t1.crt_time = T1에서 T2 여기서 (t.id = t1.id) 및 t1.id = t2.id;
업데이트에서 relname = tmp.rel 설정 tbl_1 (값 (1 'TEST1'), (2 'TEST2')) TMP (ID, REL) 여기서 tmp.id = tbl_1.id;
T1을 사용하여 t에서 삭제 여기서 t.id = t1.id;
사용 tbl_1에서 삭제 (값 (1), (2)) TMP (REL) 여기서 tmp.rel = tbl_1.reltype;

업데이트를 참고 일괄 작업을 삭제하지 않는 한 시간이 업데이트 대상이 무작위로 일치 할 수 있습니다 가입.


5, DB + 클라이언트 터미널 복사 복사

• https://github.com/digoal/blog/blob/master/201805/20180516_03.md

• https://github.com/digoal/blog/blob/master/201805/20180510_01.md

5.1, 왜 빠른 복사?

계약 :

PG 문법 해부학 - 기본 SQL 문 사용을 얻기

 

5.2, DB 쪽 사본

'파일'로 TBL을 복사; 
'파일'복사 (SQL);
'파일'에서 복사 TBL;
PG 문법 해부학 - 기본 SQL 문 사용을 얻기

 

5.3 클라이언트 사본

표준 입력으로부터 복사 TBL, C의 
opy (SQL)은 표준 출력;
표준 출력으로 TBL 사본;
psql의 (\에 복사 |에서); - 복사协议

6 + 정렬 오프셋 한계

제 relname 널들에 의해 tbl_1 순서에서 선택한 *; 
relname NULL을 마지막으로 tbl_1 순서 SELECT * FROM;
relname 의해 tbl_1 순서에서 선택한 *;
10 10 relname 오프셋에 의해 제한 tbl_1 순서에서 선택한 *;
relname에 의해 tbl_1 순서 SELECT * FROM :: 텍스트가 "C"를 대조;

도 7에서, 중합은 + 디커플링

tbl_1에서 string_agg (relname XX 의해 ','주문)을 선택; 
g으로 TBL 그룹에서 g, 평균 (C1)를 선택;
PG 문법 해부학 - 기본 SQL 문 사용을 얻기

 


8, 별개의

별개 relname, pg_class에서 relnamespace을 선택 1 BY test_table GROUP 이드, COUNT_DISTINCT (발)을 선택; 
선택 횟수 pg_class 행 (구별 (relname, relnamespace)); TBL에서 (C3), C2, C3의 고유 선택;

9, INNER | 외부 조인

•안의

(t1.x = t2.x) 여기서 XXXX를 T2에 가입 * T1로부터 선택;

• 왼쪽

1) 스캔 필터

T1을 선택 * * T1로부터 T2 (= t1.x t2.x) 여기서 t1.x = T2의 X에 가입 떠났다..는;

2) 필터 합류

T1을 선택 * * T1로부터 T2 (= t1.x t2.x 및 t1.x = X)에 가입 T2 왼쪽..는;

• 권리

왼쪽 상단는 말을 많이가없는, 가입 바로 변경할 수 있습니다 조인.

추천

출처www.cnblogs.com/jinanxiaolaohu/p/11621358.html