변수(x) > SQL은 프로그래밍 언어가 아니다.
SQL > 대화형 언어 > DB와 대화를 목적으로 하는 언어
자료형 > 데이터 저장하는 규칙 > 테이블 정의할 때 사용 > 컬럼의 자료형
실행 ctrl + enter
1. 숫자형
: 정수, 실수
a. number
- (유효자리) 38자리 이하의 숫자를 표현하는 자료형
- 12345678901234567890123456789012345678
- 5~22byte
- 1x10^-130 ~ 9.9999x10^125
2. 문자형
: 문자 + 문자열
: char vs nchar > n의 의미?
: char vs varchar > var의 의미?
char
- 고정 자릿수 문자열 > 공간(컬럼)의 크키가 불변
- 데이터 삽입 후 > 남은 공간을 공백으로 채운다.
char(n): 최대 n자리 문자열, n(바이트)
char(n char): 문자수 == nchar랑 같은 의미
nchar
n: national > 오라클 인코딩과 상관없이 해당 컬럼을 UTF-16으로 동작
nchar(n): 최대 n자리 문자열, n(문자수)
varchar2
✏️ 대부분 사용 (이전에는 성능 차이가 있었지만 이젠 없음)
- 가변 자릿수 문자열 > 공간(컬럼)의 크기가 가변
- 데이터 삽입 후 > 남은 공간을 제거한다.
nvarchar2
- n: national > 오라클 인코딩과 상관없이 해당 컬럼을 UTF-16으로 동작
- 가변 자릿수 문자열 > 공간(컬럼)의 크기가 가변
- 데이터 삽입 후 > 남은 공간을 제거한다.
clob, nclob
- 대용량 텍스트
- character large object
- 최대 128TB
- 참조형 > 속도가 좀 느림
3. 날짜/시간형 > data 사용
date
timestamp
interval
4. 이진 데이터형
- 비 텍스트 데이터
- 이미지, 영상, 음악, 실행 파일, 압축 팡리 등...
- 잘 사용 안함
- ex) 게시판(첨부파일), 회원가입(사진) > 파일명만 저장
숫자 > number
문자열 > varchar2
-- 테이블 선언(생성)
create table 테이블명 (
컬럼 선언,
컬럼 선언,
컬럼 선언,
컬럼명 자료형
num number
)
-- 데이터 추가하기
-- insert into 테이블 (컬럼) values (값);
insert into tblType (num) values (100); -- 정수 리터럴
insert into tblType (num) values (3.14); --실수 리터럴