프로그래밍 언어&프레임워크/sql
SQL 기초 - DBMS 언어
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 |
반응형