티스토리 뷰
DATABASE/이론
[DB] SQL ( Structured Query Language ) - DDL , DML , DCL, TCL
printf100 2019. 12. 5. 21:04SQL ( Structured Query Language ) 이란 ?
-
구조적인 질의 언어
-
데이터베이스를 정의, 조작, 제어하기 위해 사용하는 데이터베이스 언어
DDL ( Data Definition Language ) : 데이터 정의어
-
테이블, 뷰, 프로시저 등을 정의/수정/삭제하는 데 사용하는 명령어
-
트랜잭션이 적용되지 않으므로 COMMIT할 필요가 없고, ROLLBACK 할 수 없습니다.
-
CREATE : 정의
CREATE TABLE 테이블이름 (
컬럼 TYPE(SIZE) 제약조건,
...
CONSTRAINT 제약조건명 제약조건(컬럼)
...
);
-
ALTER : 수정
추가
-- 컬럼 추가
ALTER TABLE 테이블명 ADD(컬럼 TYPE(SIZE), 컬럼 TYPE(SIZE), ...);
-- 제약조건 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건(컬럼);
수정
-- 테이블 이름 수정
ALTER TABLE 테이블명 RENAME TO 바꿀테이블명;
-- 컬럼 수정
ALTER TABLE 테이블명 MODIFY(컬럼 TYPE(SIZE));
-- 컬럼 이름 수정
ALTER TABLE 테이블명 RENAME 이전컬럼명 TO 바꿀컬럼명;
삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼;
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
- DROP : 삭제
DROP TABLE 테이블명;
DML ( Data Manipulation Language ) : 데이터 조작어
-
데이터를 조작(CRUD : CREATE, READ, UPDATE, DELETE)하기 위한 명령어
-
사용자가 데이터를 실질적으로 처리하기 위해 주로 사용합니다.
SELECT : 조회
SELECT 컬럼명, 컬럼명, ...
FROM 테이블명
WHERE 조건;
SELECT * FROM 테이블명;
INSERT : 추가
INSERT INTO 테이블명(컬럼, 컬럼, ...)
VALUES(값, '값', ...);
UPDATE : 변경
UPDATE 테이블명
SET 컬럼 = 값, 컬럼 = 값, ...
WHERE 조건;
DELETE : 삭제
DELETE FROM 테이블명
WHERE 조건;
DCL ( Data Control Language ) : 데이터 제어어
-
데이터를 제어할 권한을 부여하는 명령어
-
GRANT : 사용자에게 권한 부여
-- 사용자 생성
CREATE USER 사용자명 IDENTIFIED BY 비밀번호;
GRANT CONNECT, RESOURCE, DBA TO 사용자명;
GRANT CREATE TABLE TO 사용자명;
GRANT SELECT, INSERT, UPDATE, DELETE ON 테이블명 TO 사용자명;
-
REVOKE : 사용자 권한 취소
REVOKE CREATE TABLE FROM 사용자명;
REVOKE SELECT, INSERT, UPDATE, DELETE FROM 사용자명;
TCL ( Transaction Control Language ) : 트랜잭션 제어어
-
트랜잭션을 제어하기 위한 명령어
COMMIT : 트랜잭션 결과 반영
ROLLBACK : 트랜잭션 작업 취소 및 원상 복구
'DATABASE > 이론' 카테고리의 다른 글
[DB] 분석 함수 2 - 날짜 함수 , 변환 함수 , 기타 함수 (0) | 2019.12.31 |
---|---|
[DB] 분석 함수 1 - DUAL 테이블 , 단일 행 함수 ( 숫자함수 , 문자함수 ) (0) | 2019.12.31 |
[DB] 데이터 무결성 , 제약조건 (0) | 2019.12.10 |
[DB] 시퀀스 ( SEQUENCE ) - 생성 , 적용 , 수정 , 삭제 (0) | 2019.12.10 |
[DB] 데이터베이스 ( DataBase , DB ) - 특징 , 용어 (0) | 2019.12.05 |