[DB] SQL 기초
SQL은 데이터 베이스에서 데이터를 추출하고 조작하는데 사용하는 데이터 처리 언어이다.
구성요소
DDL(Data Definition Language, 데이터 정의 언어)
데이터베이스 스키마와 설명을 처리하는 언어로 데이터베이스나 데이터 생성/변경/삭제 등의 작업을 포함한다. 데이터 베이스 개체로는 테이블, 인덱스, 제약 조건이 있다.
- CREATE : 데이터 베이스 개체 정의, 생성
- DROP : 데이터 베이스 개체 삭제
- ALTER : 데이터 베이스 개체 수정
CREATE : DB나 테이블을 생성
CREATE DATABASE {DB_NAME};
CREATE TABLE {TABLE_NAME} (
{COLUMN} {DATA_TYPE}
);
DROP : DB나 테이블을 삭제
DROP DATABASE {NAME};
DROP TABLE {NAME};
ALTER : 기존에 존재하는 DB 객체 구조를 변경한다. 칼럼 추가나 수정하는 경우에 사용
ALTER TABLE {TABLE_NAME} ADD {COLUMN} {DATA_TYPE};
DML(Data Manipulation Language, 데이터 조작 언어)
데이터 검색, 삽입, 수정, 삭제 수행하는 언어이다.
- SELECT : 데이터 검색
- INSERT : 데이터 추가
- DELETE : 데이터 삭제
- UPDATE : 데이터 수정
SELECT : 데이터 조회
SELECT {COLUMN} FROM {TABLE} WHERE {CONDITION};
INSERT : 테이블에 데이터를 삽입
INSERT INTO {TABLE} ({COLUMN}, {COLUMN2}, ...) VALUES ({VALUE}, {VALUE2}, ...);
DELETE : 테이블의 데이터 삭제
DELETE FROM {TABLE} WHERE {CONDITION};
UPDATE : 데이터를 수정
UPDATE {TABLE} SET {COLUMN} = {VALUE} WHERE {CONDITION};
DCL(Data Control Language, 데이터 제어 언어)
사용자 관리 및 사용자 별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어이다.
- COMMIT : 트랜잭션 작업 결과 반영
- ROLLBACK : 트랜잭션이 비정상적으로 종료되었을 때 복구
- GRANT : 사용자 권한 부여
- REVOKE : 사용자 권한 취소
GRANT : 사용자에게 권한 부여
GRANT {SYS_AUTH} TO {USER} {WITH ADMIN OPTION};
REVOKE : 사용자의 권한 회수
REVOKE {SYS_AUTH} FROM {USER};
잠깐 스쳐가는 팁
Like(%)
%를 이용해서 문자열 비교가 가능하다. 아래의 경우 ‘이’로 시작하는 이름을 추출하게 된다.
SELECT {COLUMN} FROM {TABLE} WHERE NAME LIKE '이%';
Leave a comment