본문 바로가기
SQL

[SQL] 전에 다루지 않았던 구문 체크하기

by 포 키 2023. 10. 13.
728x90

 

 

MYSQL을 통해 SQL을 처음 배우던 날, SQL Syntax 포스팅을 작성한 것이 있다.

2023.10.04 - [SQL] - [MYSQL] SQL의 기본 문법 이것만 보고 마스터하자

 

[MYSQL] SQL의 기본 문법 이것만 보고 마스터하자

길었던 꿀같은 추석연휴가 지났다. 추석연휴동안 공부는 생각도 안하고 놀았으니 이제 다시 일상으로 돌아와 수업을 듣기 시작했는데, 오늘부터 배우는 내용이 국비 수업으로는 마지막 수업에

forky-develop.tistory.com

 

가장 많이 쓰이면서 핵심적인 코드들을 위주로 작성했었는데,

오늘은 PostgreSQL을 다루면서 MySQL에서 다루지 않았던 구문들을 사용해봤기 때문에 추가로 작성하고자 한다.

 

 

IF EXISTS

IF EXISTS 구문을 오늘 처음 다뤘다.

일전에는 DROP TABLE 이렇게만 사용했는데 오늘은 함께 사용하는 방법을 배웠다.

IF EXISTS는 데이터 베이스 개체가 존재하는지 확인하는 조건문이다.

데이터 베이스 테이블이나 뷰, 프로시저 등의 객체가 이미 존재하는지를 확인하고,

이미 존재한다면 특정 동작을 수행하도록 하거나, 스크립트 진행을 중단시키기 위해 사용한다.

MySQL과 PostgreSQL에서 사용하는 코드는 아래와 같다.

 

DROP TABLE IF EXISTS 테이블명;

 

 

VALUES

VALUES는 데이터를 데이터 베이스에 삽입하거나 업데이트할 때 사용한다.

그치만 일반적으로 데이터를 삽입하기 위해 사용한다.

 

INSERT

새로운 행을 데이터 베이스에 삽입하고자 할 때 사용한다.

추가할 데이터를 지정하고 데이터 베이스 열에 해당 데이터를 할당한다.

 

INSERT INTO 테이블명 (열1, 열2, 열3)
VALUES (값1, 값2, 값3);

 

 

SET 

VALUES 절을 사용하기보단 SET 절을 사용해 열에 새로운 값을 할당한다.

 

UPDATE

업데이트할 데이터를 지정하고 업데이트 대상 테이블이 열에 해당 데이터를 할당한다.

 

UPDATE 테이블명
SET 열1 = 값1, 열2 = 값2
WHERE 조건;

 

 

UNIQUE

제약을 걸기 위해 사용하는 코드이다.

컬럼이 중복되지 않도록 보장하며, 데이터 베이스 테이블의 열에 대한 중복된 값을 허용하지 않는다.

데이터 일관성을 유지하고 중복된 데이터를 방지할 수 있으며, 데이터 베이스 설계에 중요한 역할을 한다.

 

사용 목적

1. UNIQUE 제약을 가진 모든 컬럼의 값들이 서로 다를 수 있게 보장한다.

2. 기본 키를 구성하는데 사용하는데, 테이블의 각 행을 고유하게 식별하는게 사용하며, 이 고유성을 보장해준다.

3. 보조 키로도 활용 가능하며, 특정 열에 대한 고유성을 유지하고 싶을 때 사용한다.

 

예시

employees 라는 테이블을 하나 만든다고 가정할 때, 특정 컬럼에 중복된 값이 부여되지 않는 제약을 주는 것으로 해봤다.

 

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(50) UNIQUE,
    employee_email VARCHAR(100) UNIQUE
);

 

 

형 변환하기

SQL에서 사용되는 형을 변환하는 방법을 알아보자

 

CAST

SQL 표준 함수로 데이터 형식을 다른 데이터 형식으로 명시적으로 변환할 때 사용한다.

 

-- 문자열을 정수로 변환하기
SELECT CAST('123' AS INT);

 

 

CONVERT

다양한 데이터 베이스 관리 시스템에 사용하며, 마찬가지로 데이터 형식을 다른 데이터 형식으로 변환하는데 사용한다.

 

-- 날짜를 문자열로 변환하기
SELECT CONVERT(VARCHAR, GETDATE(), 120);

 

 

형식 지정 함수

일부 데이터 베이스 관리 시스템은 형식 지정 함수를 제공해 날짜, 시간, 숫자 데이터 형식을 지정된 형식으로 변환한다.

PostgreSQL에서 날짜를 원하는 형식으로 변환하는 예제이다.

 

SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH:MI:SS');

 

 

암시적 형 변환

데이터의 유형을 자동으로 변환하는 것을 의미한다.

대부분의 데이터 베이스 관리 시스템은 정수와 부동 소수점 수 사이의 산술 연산에서 암시적 형 변환을 수행한다.

 

 

데이터의 형에 대해서는 따로 포스팅을 했다.

아래의 링크를 통해 SQL 에서 사용하는 형에 대해 알아보도록 하자!

2023.10.13 - [SQL] - [SQL] 형에 대해 알아보자!

 

[SQL] 형에 대해 알아보자!

SQL에서 사용하는 형에 대해 알아보는 시간을 가지려한다. 바로 시작해보자! INTEGER (INT) 정수값을 나타내는 데이터 형식으로 4바이트로 표현되며, 부호가 있는 정수를 저장하는데 사용한다. VARCHAR

forky-develop.tistory.com

 

728x90