DDL (Data Definition Language)
데이터 정의어 (어떠한 데이터의 구조를 정의하는 명령어)
종류 : CREATE / ALTER / DROP
CREATE (생성)
데이터 구조를 정의 (그룹핑) 하는 명령어
CREATE 사용 : CREATE TABLE TABLENAME
테이블 명이 예약어와 같을 경우 " "로 표기
ALTER (수정)
데이터 조회하는 명령어
모든 데이터 필드 값을 조회하거나, 원하는 칼럼을 수정 할 때 사용
ALTER 사용 : 아래 '사용' 내용 참고
DROP (삭제)
테이블 삭제하는 명령어
DROP 사용 : DROP TABLE TABLENAME;
(마우스 커서 둔 상태로 실행)
사용 :
DROP TABLE MEM5;
SELECT*FROM MEM5;
CREATE TABLE MEM5
(
ID VARCHAR2(50),
PWD VARCHAR2(50),
NAME VARCHAR2(50),
GENDER VARCHAR2(50),
AGE NUMBER,
BIRTHDER VARCHAR2(50),
PHONE VARCHAR2(50),
EMAIL VARCHAR2(1000),
REGDATE DATE
);
INSERT INTO MEMBER(ID,PWD) VALUES('IDNN','123');
COMMIT;
ALTER TABLE MEM5 MODIFY ID NVARCHAR2(20); -- 모든 필드(컬럼) 값을 수정
ALTER TABLE MEM5 DROP COLUMN AGE; -- 원하는 컬럼만 원하는 순서대로 수정
ALTER TABLE MEM5 ADD EMAIL VARCHAR2(200); -- 원하는 컬럼을 원하는 별칭으로 수정
Oracle SQL Data Types
Oracle Built-in Data Types (내장 되어있는..)
- Character 형식 : 문자 (표현 : 'A')
- Numeric 형식 : 숫자 (표현 : 38)
- Date 형식 : 날짜 (표현 : '2020-04-07')
- TIMESTAMP : 시간 (표현 : '2005-01-03 12:34:56+00')
시분초까지 쓸 생각이면 이거 쓸것 (date에도 시분초 가능하지만, 여러 DB와 혼동없으려면)
- LOB 형식* 큰 데이터에 사용
Character 형식
CHAR
: 지정된 숫자만큼의 고정 길이를 갖는 아스키코드 문자 데이터
한 데이터가 고정길이를 갖으니 읽는 검색 속도가 빠르지만 공간 효율이 떨어짐
최대 길이 2,000 byte (학번처럼 고정 크기 인 경우 사용)
사용 :
CREATE TABLE TABLENAME
(
ID CHAR(3), >> 글자 3이 아닌, 3BYTE로 인식!!
ID CHAR(3 CHAR), >> 3개 문자 저장 / 범위 4000 bytes까지 (천글자 정도까지 가능)
);
NCHAR
: 고정 길이를 갖는 유니코드 문자 데이터
(National인 N을 붙이면 사이즈가 2 또는 3bytes 커짐)
AL16UTF16 또는 UTF8의 인코딩 방식을 씀
최대 길이 2,000 byte (다국어나 한글 쓸 때 바람직)
VARCHAR
: (쉽게 길이를 가늠할 수 없는) 가변 길이를 갖는 아스키코드 문자 데이터
공간은 절약 할 수 있으나 구분자(,)를 읽느라 검색 속도가 빠름
최대 길이 4,000 byte (크기가 들쑥날쑥 한 경우 사용)
(VARCHAR2를 더 많이 사용 함)
NVARCHAR
: 가변 길이를 갖는 유니코드 문자 데이터
'Web programming > SQL & DB' 카테고리의 다른 글
ROWNUM / OUDER BY / 순위를 반환하는 함수 ROW_NUMBER, RANK, DENSE_RANK (0) | 2020.04.13 |
---|---|
서브쿼리와 서브쿼리의 중첩 / 쿼리문 작성 및 실행 순서 (0) | 2020.04.13 |
관계 연산자, 패턴 연산자, 정규 표현식 (0) | 2020.04.10 |
데이터를 삽입하는 명령어 DML (0) | 2020.04.07 |
DB, DBMS, SQL 정의 (0) | 2020.04.06 |