개발공작소
728x90
article thumbnail
[Postgres] cmd창에서 psql을 통해 SQL문을 사용해보자.
데이터베이스/쿼리 2022. 2. 8. 21:19

보통은 DBeaver을 통해서 쿼리작업을 한다. 가독성도 좋고 훨씬 편리하기 때문.. 근데 만약 DBeaver를 사용할 수 없는 상황에서 DB에 접근해야 한다면 어떻게 해야할까? 터미널을 통해서 조작할 수 밖에 없을 것이다. 그래서 오늘은 psql을 통해서 DB에 접근하는 방법을 정리해보자. ( Postgres 14 버전 기준으로 작성 됨 ) 우선 Postgres의 bin 경로로 들어가주자. 해당 경로를 복사해놓고, CMD를 열어 해당 경로로 가보자. cd [복사해놓은 경로] cd C:\Program Files\PostgreSQL\14\bin --샘플 cd [복사해놓은 경로] 를 입력하면 된다. 해당 경로까지 들어오면 psql문을 통해 해당 DB에 접근이 가능하다. 바로 해보자. 명령어는 아래와 같다. ..

article thumbnail
[Postgres] ANY 연산자에 대해 알아보자. ( feat. 배열 함수 및 IN 연산자)
데이터베이스/쿼리 2022. 2. 5. 02:13

쿼리를 이용하다 보면, 어떤 값과 배열을 비교하여 하나라도 존재하면, true를 반환해줘야 하는 일이 생긴다. 그럴 때 보통 자주 사용하는 게, IN 연산자이다. 그런데 Postgresql에서는 IN과 비슷한 기능을 하는 ANY 연산자를 지원한다. 오늘은 ANY연산자와 IN 연산자를 알아보도록 하자~ 주로 사용하는 상황은 다음과 같다. B나는 배열에서 A라는 컬럼과 같은 값을 지닌 값이 존재 할 경우 true를 반환, A라는 컬럼값이 서브쿼리로 반환 되는 B라는 값에 존재 할 경우 true를 반환 등등 배열이나 값이 여러개 일 때 비교하기 위해 사용한다. 그럼 바로 ANY와 IN에 대해 알아보자. 우선 기본적인 문법은 다음과 같다. SELECT [컬럼] FROM 테이블 [WHERE] 컬럼 =ANY(배열)..

article thumbnail
[Postgres] 기본적인 배열함수를 알아보자 ( feat. array_agg, array_to_string, string_to_array, unnest)
데이터베이스/쿼리 2022. 2. 3. 07:26

오늘은 Postgres에서 지원하는 기본적인 배열함수를 알아보자. 물론 툴은 DBeaver를 사용 할 것이고, 웹로그 테이블을 테스트 테이블로 사용한다. 1. array_agg 2. array_to_string, string_to_array 3. unnest 이렇게 3개의 함수를 지원한다. 그럼 바로 하나하나 알아보자. 1. array_agg ============================================================================ array_agg는 여러 row를 하나의 배열로 만들고자 할 때 사용하는 함수이다. inner조인으로 가져온 row값들은 보통 각각 다른 행으로 이루어 진다. 하지만 가져온 행값을 하나의 배열로 사용해야 할 때가 있다. 예를 들면..

article thumbnail
[Postgres] 중복값을 체크해보자. ( feat. GROUP BY, HAVING )
데이터베이스/쿼리 2022. 1. 28. 20:14

작업을 하는데 왜인지 중복된 값들이 많이 들어있는 것 같았다. 그런데 정확히 몇개가 있는지 몰라 작업 진행을 어떻게 해야 할 지 감이 안오는... 그런 상황이 발생 그래서 테이블에 중복 된 값이 얼마나 있는지 알아보자 SELECT [컬럼명] COUNT([컬럼명]) FROM [테이블명] GROUP BY [컬럼명] HAVING COUNT([컬럼명]) > 1; 위의 쿼리를 그냥 사용하면 된다 . 아래는 해당 쿼리로 돌려본 결과물. 어려운 게 없으니 그냥 해당 쿼리를 갖다 쓰면 될 것 같다. 위와 같이 나왔다. 그냥 그룹으로 묶어서 해당 count가 1보다 많으면 중복이 되는 것이니, 얼마나 많은 컬럼이 얼마나 많이 중복되고 있는지 알 수 있다~

article thumbnail
[Postgres] Procedure(프로시저), Function(함수) 정리
데이터베이스/쿼리 2022. 1. 18. 12:53

저장 프로시저(함수)란? SQL로 만든 함수로, 이 함수 안에는 여러 SQL문을 작성하여 사용이 가능하다. 저장 프로시저(함수)를 사용하는 이유는? 단위 하나로 작업을 만들어 필요할 때마다 호출이 가능하며, 이는 반복적인 작업을 줄여주며, 여러개의 SELECT문이나 UPDATE, INSERT문을 하나의 프로시저(함수)에서 묶어 실행함으로써, 불필요한 네트워크 통신 횟수를 줄여 더 빠르게 DBMS연산 결과를 얻을 수 있다. 또한 프로시저(함수) 호출 시 인자만을 변경하여 빠르고 쉽게 재활용이 가능하다. Postgres에서는 PL/pgSQL을 활용하며 이는 Oracle의 PL/SQL과 유사하다. 1. function_name : 생성하고자 하는 사용자 함수의 이름 2. param1, param2 : 함수에서..

article thumbnail
[SQL] VIEW TABLE(뷰 테이블) 생성, 조회, 수정, 삭제
데이터베이스/쿼리 2022. 1. 18. 11:42

VIEW TABLE(뷰테이블)이란?? 뷰테이블이란 일반 테이블이 물리적(저장장치)에 저장되는 것과는반대로 실제로 존재 하지 않는 논리적인 테이블로, 사용자에게는 존재하는 것으로 간주된다. 뷰 테이블을 사용하는 이유는 1개 이상의 테이블, 뷰테이블을 조인하여, 필요한 데이터로 구성 된 가상의 테이블을 만듦으로써, 보안 및 필요한 데이터의 관리를 용이하게 해준다. ============================================================================ 나에게는 다음과 같은 사용자 로그 테이블이 있다. 데이터가 약 196만개나 있다... 그리고 아래와 같이 해당 사용자의 이름을 가진 테이블이 있다고 하자. 이 상황에서 양쪽 테이블에 존재하는 사용자의 이름을 출력..

728x90