관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조작하기 위한 표준화된 프로그래밍 언어입니다. SQL은 데이터의 삽입, 삭제, 수정, 검색 등 다양한 작업을 수행할 수 있도록 해줍니다.
1. DDL (Data Definition Language)
CREATE: 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성합니다.
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
ALTER: 데이터베이스 객체의 구조를 변경합니다.
ALTER TABLE table_name
ADD column_name datatype;
DROP: 데이터베이스 객체를 삭제합니다.
DROP TABLE table_name;
TRUNCATE 테이블의 모든 데이터를 삭제합니다.(테이블 구조는 유지됨)
TRUNCATE TABLE table_name;
RENAME 데이터베이스 객체의 이름을 변경합니다
ALTER TABLE table_name RENAME TO new_table_name;
2. DML(Data Manipulation Language)
-SELECT 데이터를 조회합니다
SELECT column1, column2, ...
FROM table_name
WHERE condition;
-INSERT 새로운 데이터를 추가합니다.
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
-UPDATE 기존 데이터를 수정합니다.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
-DELETE 데이터를 삭제합니다
DELETE FROM table_name
WHERE condition;
-MERGE 조건에 따라 데이터를 업데이트하거나 삽입합니다. (주로 Oracle에서 사용됨)
MERGE INTO target_table
USING source_table
ON (condition)
WHEN MATCHED THEN
UPDATE SET column1 = value1, column2 = value2, ...
WHEN NOT MATCHED THEN
INSERT (column1, column2, ...)
VALUES (value1, value2, ...);
3. DCL (Data Control Language)
-GRANT 데이터베이스 사요자에게 특정 권한을 부여합니다.
GRANT privilege_name
ON object_name
TO {user_name | PUBLIC};
-REVOKE 데이터베이스 사용자의 권한을 취소합니다.
REVOKE privilege_name
ON object_name
FROM {user_name | PUBLIC};
-COMMIT 트랜잭션의 변경 사항을 영구적으로 저장합니다.
COMMIT;
-ROLLBACK 트랜잭션의 변경 사항을 취소하고 이전 상태로 되돌립니다.
ROLLBACK;
데이터베이스 생성 및 구조 정의: CREATE 문을 사용하여 새로운 데이터베이스, 테이블, 인덱스 등을 생성할 수 있습니다.
데이터 검색 및 분석: SELECT 문을 사용하여 데이터를 검색하고, 필요한 연산을 수행하여 원하는 결과를 얻을 수 있습니다.
데이터 조작: INSERT, UPDATE, DELETE 문을 사용하여 데이터를 추가, 수정, 삭제할 수 있습니다.
데이터베이스 관리: ALTER 문을 사용하여 데이터베이스나 테이블의 구조를 변경하거나, DROP 문을 사용하여 데이터베이스 객체를 삭제할 수 있습니다.