Coblin 2021. 8. 5. 00:09
반응형

SQL(Structured Query Language)이란?

  • 관계형 데이터베이스(Relational DataBase)에서 데이터를 관리하기 위해 사용되는 언어
  • 대소문자를 구분하지 않는다.
  • DDL(데이터 정의어), DML(데이터 조작어), DCL(데이터 제어어)로 구성

DDL(데이터 정의어)

  • SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어
  • DBA(데이터베이스 관리자)나 DA(데이터베이스 설계자)가 사용
명령어 기능
CREATE SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의
ALTER TABLE에 대한 정의를 변경할때 사용
DROP SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제

DDL 예제

# 테이블 생성
CREATE TABLE 테이블명(
    컬럼명 데이터타입 조건,
    컬럼명 데이터타입 조건,
    ...
    );

# 컬럼 추가
ALTER TABLE 테이블명 ADD (컬럼명 데이터타입 조건);

# 컬럼 수정
ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입 조건);

# 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

DML(데이터 조작어)

  • 데이터베이스에 저장된 데이터를 CRUD 할 때 사용하는 언어
  • 응용 프로그래머(Application Programmer)가 주로 사용
명령어 기능
SELECT 테이블에서 조건에 맞는 데이터 검색
INSERT 테이블에 새로운 데이터 삽입
UPDATE 테이블에서 조건에 맞는 데이터 변경
DELETE 테이블에서 조건에 맞는 데이터 삭제

DML 예제

# 데이터 검색
SELECT 컬럼명 FROM 테이블명;
# 옵션
WHERE 조건문

# 데이터 삽입
# 지정된 컬럼에만 데이터를 삽입하는 경우
INSERT INTO 테이블명 (컬럼) VALUES (데이터);

# 모든 컬럼에 데이터를 삽입하는 경우
INSERT INTO 테이블명 VALUES (데이터);

# 데이터 수정
UPDATE 테이블명 SET 컬럼명 = 수정데이터;
#옵션 
WHERE 조건문

# 데이터 삭제
# 모든데이터 삭제
DELETE FROM 테이블명;

# 특정 데이터 행 삭제
DELETE FROM 테이블명 WHERE 조건문;

DCL(데이터 제어어)

  • 데이터베이스에 권한 부여
  • DCL명령어를 입력하는 순간 해당하는 작업이 즉시 완료(AUTO COMMIT)됨
명령어 기능
GRANT 데이터베이스에 대한 사용자의 액세스 권한을 제공 
REVOKE GRANT 명령으로 주어진 액세스 권한을 철회

 

 

TCL(트랜잭션 제어어)

  • 데이터의 보안, 무결성, 데이터 회복, 병행 수행 제어 등을 정의할 때 사용하는 언어
  • DBA(데이터베이스 관리자)가 데이터 관리를 목적으로 사용
명령어 기능
COMMIT 트랜잭션의 작업 결과를 최종 반영
ROLLBACK 데이터베이스를 마지막 COMMIT 된 시점의 상태로 복원
SAVEPOINT 지정된 특정 시점(SAVEPOINT)까지 ROLLBACK

 

반응형