데이터 유형은 자료의 유형을 규정하는 기준
지정한 크기도 굉장히 중요
데이터 유형은 아래와 같음
CHARACTER(숫자) : CHAR
-- 고정길이 문장려 정보
-- 숫자는 기본길이 1바이트, 최대 길이는 2000바이트, SQL server 는 8000바이트
-- 숫자만큼 최대 길이를 갖고 고정 길이를 가지고 있으므로 할당된 변수 값의 길이가 숫자보다 작을 경우에는 그 차이 길이만큼 공간으로 채워짐
VARCHAR(숫자) : VARCHAR2 / VARCHAR
-- CHARACTER VARYING 의 약자로 가변 길이 문자열 정보
-- 숫자의 최소 길이는 1바이트, 최대 길이는 오라클 4000바이트, SQL server 8000바이트
-- s 만큼의 최대 길이를 갖지만 가변 길이로 조정이 되기 때문에 할당된 변수값의 바이트만 적용됨
NUMERIC : NUMBER / FLOAT, INT. .....
-- 정수, 실수 등 숫자정보 표현
-- 오라클은 NUMBER(8, 2) : 6자리 정수, 2자리 소수
DATETIME : DATE / DATETIME
-- 오라클은 1초, sql 은 3.33ms
1) 테이블과 컬럼 정의
2) CREATE TABLE
CREATE TABLE 테이블명
(컬럼명1 DATETYPE [DEFAULT 형식]);
3) CONSTRAINT
PRIMARY KEY
UNIQUE KEY
NOT NULL
CHECK
FOREIGN KEY
NULL 의 의미
– NULL (ASCII 00) 은 공백 (BLANK, ASCII 32) 이나 숫자 0 (ZERO, ASCII 48) 과는 전혀 다른 값으로, 조건에 맞는 데이터가 없을 때의 공집합과도 다르다. NULL 은 ‘아직 정의되지 않은 미지의 값’ 또는 ‘현재 데이터를 입력하지 못하는 경우’를 의미한다.
DEFAULT 의 의미
– 데이터의 기본값 (DEFAULT) 을 사전에 설정할 수 있다. 데이터 입력 시 명시된 값을 지정하지 않은 경우 NULL 값이 입력되고, DEFAULT 값을 정의했다면 해당 컬럼에 기본 값이 자동으로 입력된다.
4) 테이블 구조 확인
5) STAS : NOT NULL 만 제외하고 전부 제약이 사라짐
ALTER TABLE 테이블명 ADD col_name CHARACTER(20);
ALTER TABLE TBL_NAME DROP COLUMN COL_NAME
ALTER TABLE TBL_NAME MODIFY (COL_NM 데이터유형 [DEFAULT][NOT NULL], ...); => sql server 에서는 ALTER 를 사용함
ALTER TABLE TBL_NAME RENAME COLUMN NAME1 TO NAME2
ALTER TABLE TBL_NAME DROP CONSTRAINT [제약조건명];
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건 (컬럼명);
-- ORACLE
RENAME 변경전테이블명 TO 변경후테이블명;
-- SQL Server
sp_rename 변경전테이블명, 변경후테이블명;
DROP TABLE NAME [CASCADE CONSTRAINT];
TRUNCATE TABLE NAME;