- DDL(Data Definition Language)
- 데이터정의어, 테이블과 열을 생성/변경/삭제하는 명령어
- 따로 커밋하지 않아도 데이터베이스에 즉각 반영되며 데이터사전(data dictionary)에 기록
- CREATE: 테이블 생성
- 테이블과 열 이름 생성 규칙
- 동일한 사용자가 동일한 이름의 테이블 중복 생성X, 테이블 안의 열 이름도 동일 이름으로 생성 불가
- SELECT, FROM, COUNT와 같은 예약어 사용 불가
- 테이블 이름은 문자로 시작
- 문자 길이는 1~30바이트 이내
- 테이블과 열 이름 생성 규칙
- CREATE TABLE 테이블이름 (열이름1 데이터타입, 열이름2 데이터타입[(자릿수)], ... );
- ALTER: 테이블 수정
- ALTER TABLE ~ADD절의 특징
- 새로운 열 추가 가능 BUT 기존 열 삭제 불가
- 새로 생성되는 열의 위치 지정 불가 (테이블의 마지막에 위치)
- 테이블에 이미 행이 있을 경우 열 추가 시 새로운 열의 데이터 값은 NULL로 초기화
ALTER TABLE 테이블이름 MODIFY(열이름1 데이터타입, 열이름2 데이터타입, ... );
- 이미 데이터를 담고 있는 열이라도 허용 범위 준수 시 정의 수정 가능 BUT 허용범위에 맞지 않으면 오류 발생
ALTER TABLE 테이블이름 RENAME COLUMN 열이름1 to 바꾸려는 열이름1;
ALTER TABLE 테이블이름 DROP COLUMN 열이름;
- ALTER TABLE ~ADD절의 특징
- ALTER TABLE 테이블이름 ADD(열이름1 데이터타입, 열이름2 데이터타입, ... );
- TRUNCATE: 테이블의 내용 삭제하기
- 테이블의 데이터 모두 삭제, 사용하던 기억 공간 해제
- 테이블에 생성된 객체 삭제
- 테이블의 모든 데이터가 삭제되지만 테이블의 구조는 삭제되지 않음
- 삭제 여부를 묻지 않으며 삭제된 데이터는 자동 커밋
TRUNCATE TABLE 테이블이름;
- DROP: 테이블 삭제하기
- 테이블을 완전히 삭제
- 테이블에 있는 모든 자료와 인덱스 삭제, 사용하던 저장공간 돌려줌
- 테이블의 모든 구조와 데이터 삭제
- DDL 명령어이므로 트랜잭션 자동 커밋
- 모든 인덱스와 제약조건 삭제
모두의 SQL | 김도연 - 교보문고
모두의 SQL | 난생처음 SQL로 데이터를 분석하고 가공해야 한다면? 초보자와 비전공자를 위한 가장 쉬운 SQL 입문서 인터넷이 발전하고 페이스북과 같은 소셜 미디어가 활성화되면서 데이터로 모
product.kyobobook.co.kr
'Dev Books Review > 모두의 SQL' 카테고리의 다른 글
[모두의 SQL] 12장. 신규 매출 분석 (0) | 2023.01.11 |
---|---|
[모두의 SQL] 11장. 관계형 데이터베이스의 주요지식 (0) | 2023.01.11 |
[모두의 SQL] 9장. 데이터 무결성과 트랜잭션 (0) | 2023.01.11 |
[모두의 SQL] 9장. 데이터 무결성과 트랜잭션 (0) | 2023.01.11 |
[모두의 SQL] 8장. DML: 데이터의 삽입/갱신/삭제 (0) | 2023.01.11 |