데이터베이스

DATABASE STEP 2 - datatype

2023. 3. 16. 23:01
728x90

★ ANSI-SQL 자료형(Oracle 자료형(***))

  • 1. 숫자형
    • 정수, 실수
    • 1-1. number
      • (유효자리) 38자리 이하의 숫자를 표현하는 자료형
      • 12345678901234567890123456789012345678
      • 1*10^-130 ~ 9.9999*10^125
      • 5~22byte
    • 사용방법 
      • 1. number
        • 정수, 실수
        • 1*10^-130 ~ 9.9999*10^125
      • 2. number(precision)
        • 정수만 저장(반올림)
        • precision : 저장 가능한 자릿수
      • 3. number(precision, scale)
        • 정수, 실수
        • precision : 저장 가능한 자릿수
        • scale : 소수 이하 자릿수(%.1f)
  • 2. 문자형
    • 문자, 문자열 구분 X
    • 1. char
      • 고정 자릿수 문자열 > 컬럼(공간)의 크기가 불변
      • char(n) : n자리 문자열, n(바이트)
      • n 최소 크기 : 1바이트
      • n 최대 크기 : 2000바이트
      • char(10) : 'ABC' > 'ABC       '
      • 주어진 공간을 데이터가 채우지 못하면 나머지 공간을 스페이스로 채운다.
    • 2. nchar
      • national > 오라클 인코딩과 상관없이 해당 컬럼을 UTF-16 동작하게 만들어라. > 즉, 영어한글 구분없이 한글자 2BYTE씩 잡아먹음
      • 고정 자릿수 문자열 > 컬럼(공간)의 크기가 불변
      • nchar(n) : n자리 문자열, n(문자수)
      • n 최소 크기 : 1글자
      • n 최대 크기 : 1000글자
    • 3. varchar2
      • 가변 자릿수 문자열 > 컬럼(공간)의 크기가 가변
      • varchar(n) : n자리 문자열, n(바이트)
      • n 최소 크기 : 1바이트
      • n 최대 크기 : 4000바이트
      • varchar2(10) > 'ABC' > 'ABC'
      • 주어진 공간을 데이터가 채우지 못하면 나머지 공간을 버린다.
      • 즉, 데이터의 크기가 공간의 크기가 된다.
      • 현재 사용하는 것은 이것만 거의 사용함.
    • 4. nvarchar2
      • national > 오라클 인코딩과 상관없이 해당 컬럼을 UTF-16 동작하게 만들어라. > 즉, 영어한글 구분없이 한글자 2BYTE씩 잡아먹음
      • 가변 자릿수 문자열 > 컬럼(공간)의 크기가 가변
      • nvarchar(n) : n자리 문자열, n(문자수)
      • n 최소 크기 : 1글자
      • n 최대 크기 : 2000글자
    • 5. clob, nclob
      • 대용량 텍스트
      • 128TB
      • 잘 사용 안함. 참조형
  • 3. 날짜시간형
    • date
      • 년월일시분초
      • 기원전 4712년 1월 1일 ~ 9999년 12월 31일
    • timestamp
      • 년월일시분초 + 밀리초 + 나노초
    • interval
      • 시간
      • 틱값 저장용
  • 4. 이진 데이터형
    • 비 텍스트 데이터
    • 이미지, 영상, 파일 등..
    • ex) 게시판(첨부파일), 회원가입(사진) > 문자열로 저장(파일명만 저장) > hong.png

★ 데이터 추가하기 ( 1. num 연습)

  • tblType 이라는 테이블에 값 넣기
insert into tblType (num) values (100); -- 정수 데이터 > 정수형 리터럴
insert into tblType (num) values (200); 
insert into tblType (num) values (300);

insert into tblType (num) values (3.14); -- 실수형 리터럴

insert into tblType (num) values (-100); -- 음수

-- ORA-01438: value larger than specified precision allowed for this column : 자료형의 범위를 넘어갔다 > 오버플로우
insert into tblType (num) values (1000); --오버플로우 발생

insert into tblType (num) values (9.9); -- 반올림

insert into tblType (num) values (999); 
insert into tblType (num) values (-999); 

insert into tblType (num) values (3.14);
insert into tblType (num) values (3.142);
insert into tblType (num) values (3.149);

insert into tblType (num) values (33.14);
insert into tblType (num) values (333.14); -- 총 자릿수 5자리가 되기 때문에 4자리를 넘어서 들어가지 않음.
insert into tblType (num) values (333.1); --소수 이하 2자리를 고정으로 했기때문에 들어가지 않음. 

insert into tblType (num) values (99.99);
insert into tblType (num) values (-99.99);

insert into tblType (num) values (100); -- 들어가지 않음.

 

★ 데이터 추가하기 ( 2. 문자형 연습)

  • tblType 이라는 테이블에 값 넣기
insert into tblType (txt1) values ('A'); --문자열 리터럴
insert into tblType (txt1) values ("A"); -- X

--10바이트 > 몇 글자? > 오라클 인코딩? > UTF-8 > 영어(1), 한글(3) 
insert into tblType (txt1) values ('ABCDEFGHIJ');

--ORA-12899 : value too large for column "HR"."TBLTYPE"."TXT1" (actual: 11, maxinum:10)
insert into tblType (txt1) values ('ABCDEFGHIJK');

insert into tblType (txt1) values ('가');
insert into tblType (txt1) values ('가나다');
insert into tblType (txt1) values ('가나다라'); -- 에러발생

insert into tblType (txt1, txt2) values ('ABC', 'ABC');

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'데이터베이스' 카테고리의 다른 글

DATABASE STEP 4 - Operator  (0) 2023.03.16
DATABASE STEP 3 - select  (0) 2023.03.16
DATABASE STEP 1 - DB정의  (0) 2023.03.15
데이터베이스 - Window에서 세팅하기  (0) 2023.03.15
데이터베이스 - MAC 에서 오라클 셋팅하기  (0) 2023.03.14
'데이터베이스' 카테고리의 다른 글
  • DATABASE STEP 4 - Operator
  • DATABASE STEP 3 - select
  • DATABASE STEP 1 - DB정의
  • 데이터베이스 - Window에서 세팅하기
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • 웹개발자
  • 자바
  • React
  • 백엔드
  • 웹개발
  • IT개발자
  • css
  • DB
  • jsp
  • 코딩테스트
  • jquery
  • 앱개발자
  • JavaScript
  • DBA
  • 프론트엔드
  • 알고리즘
  • html
  • ajax
  • 정보보안전문가
  • 백준
  • 데이터베이스
  • 웹페이지
  • IT자격증
  • 개발블로그
  • 정보처리기사
  • 정보처리기사필기
  • IT자격증공부
  • it
  • java
  • 개발자

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
DATABASE STEP 2 - datatype
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.