DDL
구조를 만들고 변경하고 삭제하는 SQL
성공하면 철회를 할 수 없습니다.
{테이블 생성}
컬럼이름 자료형 제약조건,
컬럼이름 자료형 제약조건,
....
테이블 제약조건)
{자료형}
2. varchar2(사이즈): 사이즈까지의 문자열을 가변으로 저장하는 자료형
한글은 일반적으로 2개를 1개의 문자로 간주하지만 사용하는 접속 도구에 따라서 3개를 1문자료 간주하는 경우도 있습니다.
char(10) 으로 설정한 경우 : 3개의 문자만 저장하더라도 항상 10byte를 할당받아서 나머지는 공백으로 채워 넣습니다.
varchar2(10)으로 설정하고 3개의 문자를 저장하면, 처음에는 10byte를 할당받았다가 3개의 저장공간을 제외한 공간은 없애버립니다.
- 메모리 효율 면에서는 varchar2 가 좋지만 varchar2는 수정이 발생하는 경우 잘못하면 많은 양의 데이터가 이동해야 하는 상황이 벌어질 수 있습니다.
- 이렇게 많은 양의 데이터가 이동하는 것을 row migration(행 이주)이라고 합니다.
3. number(전체자릿수, 소수자릿수): 숫자를 저장하고자 하는 경우 사용.
자릿수를 생략하면 38자리로 생성됩니다.
정수를 입력하고자 하는 경우는 소수자릿수를 생략하면 됩니다.
4. Date: 날짜와 시간을 저장하는데 1/1000초 까지 저장 가능
5. Timestamp: 날짜와 시간을 1/1000000초 까지 저장
6. CLOB: 긴 문자열을 저장할 때 사용
1000자 이상의 문자를 저장할 때 사용
이 자료형을 사용하면 인덱스(빠르게 검색하기 위해서 설정하는 것) 생성을 못함
7. BLOB: 큰 바이트를 저장할 때 사용
파일의 내용을 저장하고자 할 때 사용
머신러닝 분야 등에서 이미지의 내용을 저장하고자 할 때 사용
ex) 블로그 게시글 정보를 저장 하는 테이블
create table blog(
category char(10),
nick varchar2(10),
title char(50),
day varchar2(10),
text CLOB);
--테이블 구조 확인
desc 테이블이름;
{기존 테이블의 검색결과를 가지고 테이블 생성}
create table 테이블이름
as
select 구문
ex) dept 테이블의 모든 데이터를 가지고 있는 deptcopy 테이블 생성
create table deptcopy
as
select *
from dept;
ex2) dept 테이블의 구조만 복사해서 depttemp 테이블 생성
-- 데이터는 복사하지 않도록.
create table depttemp
as
select *
from dept
where 1 = 0;
{alter table}
{테이블 삭제}
{테이블의 모든 데이터 삭제}
{테이블 이름 변경}
- 수정, 삭제를 하게 되면 기본적으로 다른작업을 할 수 없도록 락이 걸립니다. [본문으로]