SQL
[ SQL ] Tibero DML
Jerry_JH
2022. 1. 2. 21:30
728x90
ORACLE 과 동일한 명령어는 많지만, 조금씩 틀린점이 있다.
INSERT
1. 직접넣기
- 기본구조
INSERT INTO [TABLE NAME](COLUMN1 COLUMN2, COLUMN3..) VALUES(COLUMN1 DATA, COLUMN2 DATA, COLUMN3 DATA);
- Example
INSERT INTO COMPANY.EMPLOYEE(NAME,AGE) VALUES (jerry, 26);
COMPANY 스키마 EMPLOYEE 테이블의 NAME,AGE의 데이터를 추가하는 쿼리이다.
만약 TABLE의 모든컬럼 값을 DATA에 넣으면 컬럼은 생략이 가능하다.
2. 간접넣기
- 기본구조
INSERT INTO [TABLE NAME](COLUMN1, COLUMN2, COLUMN3) SELECT COLUMN1 DATA, COLUMN2 DATA, COLUMN3 DATA FROM [OTHER TABLE NAME] ..
- Example
INSERT INTO COMPANY.EMPLOYEE (NAME, AGE, ADDRESS) SELECT * FROM COMPANY2.EMP WHERE NAME LIKE ('jerry%');
다른 테이블의 있는 데이터를 넣는 방법도 있다.
예시에서는 COMPANY2에서 jerry라는 이름으로 시작하는 데이터를 EMPLOYEE 테이블의 넣는 방법이다.
INSERT는 괄호안에 컬럼이랑 넣을려고 하는 데이터의 수가 일치해야 가능하므로 주의.
SELECT
- 기본구조
SELECT [COLUMN]
FROM [TABLE NAME]
WHERE [조건]
GROUP BY [COLUMN]
HAVING [GROUP 조건]
ORDER BY [COLUMN]; -- DESC : 내림차순
- Example
SELECT AGE , COUNT(1)
FROM COMPANY.EMPLOYEE
WHERE AGE > 25
GROUP BY AGE ;
SELECT는 데이터를 조회하는 기능으로 조건도 다양하게 사용할 수 있고, 쓰임새도 다양하게 활용할 수 있다.
예시는 EMPLOYEE 테이블의 나이가 25살 초과이고 AGE를 그룹으로 묶어서 총 몇명이 있는지 확인하는 쿼리이다.
UPDATE
- 기본구조
UPDATE [TABLE NAME]
SET [COLUMN NAME] = [수정값]
WHERE [COLUMN NAME] = [수정해야되는값] ;
- Example
UPDATE COMPANY.EMP
SET NAME = 'jerry'
WHERE NAME = 'TOM' OR NAME='je' ;
COMPANY 스키마 EMP 테이블의 이름이 TOM 이나 je 면 jerry로 변경하도록 하는 쿼리이다.
DELECT
- 기본구조
DELETE FROM [TABLE NAME]; -- WHERE [조건]
- Example
DELETE FROM COMPANY.EMPLOYEE WHERE AGE > 20 ;
EMPLOYEE 테이블에서 나이가 20 초과인 데이터는 모두 다 삭제하는 쿼리이다.
조건은 안넣으면 해당 테이블의 데이터는 다 삭제되므로 주의 (DBeaver는 경고문도 나온다.)
또한 삭제 테이블의 PK를 FK로 사용하고 있는 테이블이 있다면 오류가 발생하거나 미리 설정한 값으로 변경될 수 있다.
728x90