DDL (Date Definition Language)
- 데이터 정의어
: 데이터베이스를 정의하는 언어 (생성과 삭제, 수정)
- CREATE : 데이터베이스 및 테이블 등 생성
- ALTER : 테이블에 대한 수정 (데이터가 아닌 데이터의 구조 및 속성을 수정)
- DROP : 테이블, 뷰, 인덱스 등 데이터베이스 요소 삭제
- TRUNCATE : 테이블 내 모든 데이터를 삭제하여 초기화
테이블 생성 (CREATE)
- create table 테이블이름 (컬럼1 자료형(길이), 컬럼2 자료형(길이)... 후략);
: 형식에는 number(숫자형식), varchar2(문자열 형식) 등이 존재
=> ex) create table comeve (name varchar2(10), age number(3));
- 임시 테이블 생성
: create global temporary table 테이블명 (....);
- 테이블 복사 (전체복사)
: create table 테이블명 as select * from 원본테이블;
- 테이블 복사 (일부 컬럼만 복사)
: create table 테이블명 as select col1, col2 from 원본테이블;
- 테이블 구조만 복사
: create table 테이블명 as select * from 원본테이블 where 1 = 2;
: where 절에 false조건을 명시
테이블을 생성할때 주의사항
- 테이블 이름은 반드시 문자로 시작해야함 (숫자로 시작 불가)
- 테이블 이름과 컬럼이름은 최대 30바이트까지
- 테이블 이름은 한명의 사용자가 다른 오브젝트의 이름과 중복을 사용 불가
- 테이블 이름이나 오브젝트 이름은 오라클의 키워드와 중복되지 않는 것을 권장
- 테이블 이름은 한글로도 가능
테이블 수정 (ALTER)
- 새로운 칼럼 추가
: alter table 테이블명 add (컬럼명 자료형(길이));
- 새로운 칼럼을 추가하면서 기본값 지정
: alter table 테이블명 add (컬럼명 자료형(길이) default '기본값');
- 테이블의 칼럼 이름 변경
: alter table 테이블명 rename column 칼럼명 to 바꿀이름;
- 테이블 이름 변경
: rename 테이블명 to 바꿀이름;
- 칼럼의 크기 조정
: alter table 테이블명 modify(칼럼명 자료형(크기));
- 칼럼 삭제
: alter table 테이블명 drop column 칼럼명;
: alter table 테이블명 drop column 칼럼명 casacade constaints;
= 참조관계가 있을 때
- 읽기전용 테이블로 변경
: alter table 테이블명 read only;
- 테이블을 읽기/쓰기 모드로 변경
: alter table 테이블명 read write;
테이블 삭제 (DROP / TRUNCATE)
- DROP
: drop table 테이블명;
: 테이블 및 데이터 전체 삭제
- TRUNCATE
: truncate table 테이블명;
: 데이터만 삭제
Data Dictionary (데이터사전)
- 오라클 데이터베이스의 메모리 구조와 파일에 대한 구조 정보
- 각 오브젝트(객체)들이 사용하고 있는 공간들에 대한 정보
- 데이터베이스 스키마 객체 정보
- 제약조건 정보
- 사용자에 대한 정보
- 권한이나 프로파일, 룰이 대한 정보
- 감사에 대한 정보
데이터사전의 종류
- static 사전
: 데이터베이스에 존재하는 오브젝트 및 기타 정보에 대한 내용을 조회
- dynanmic 사전
: 메모리 상태 및 현재 세션에 대한 정보 (내용이 계속해서 업데이트 되는 정보)
'Database > MySQL' 카테고리의 다른 글
SQL - Constraint (제약조건) (0) | 2020.12.15 |
---|---|
SQL - DML (Data Manipulation Language) (0) | 2020.12.15 |
SQL- DDL과 DML, DCL에 대한 기초 (0) | 2020.12.15 |
SQL - JOIN의 종류 (inner join, outer join) (0) | 2020.12.15 |
SQL - 복수행 함수 (0) | 2020.12.15 |