⁂ Oracle DB/: 기본 익히기

[Oracle] #4-4 오라클과 마리아DB의 자료형

김갱환 2022. 8. 23. 17:50

1. 표준형 자료형

 

 Oracle 게시글에 지금까지 사용하는 sungjuk 테이블의 값들은 제각기 자료형을 지정해주었다.

 예를 들어 sno은 int형으로, uname은 varchar(50)으로.

 

 그런데 오라클 내부 sungjuk 테이블을 확인하면 내가 지정한 자료형으로 되어있지 않다.

 

 sno은 int가 아니라 number로, uname은 varchar가 아니라 varchar2로 되어있다.

 이처럼 표준화된 자료형을 넣어주면 각각의 프로그램이 자료형을 알아서 변환해서 가져간다.

 그래서 오라클 DB에서 사용하는 자료형을 마리아 DB에 가져가면 인식하지 못한다.

 표준화된 자료형을 사용하면 각기 다른 프로그램에서도 각기 사용할 수 있다.

 

 이제 오라클과 마리아DB에서 사용하는 각기 다른 자료형에 대해 한번 알아보자.

 

 

2. 오라클 DB 자료형

 

1) 숫자형
   - number      전체자릿수(38)까지 표현. 표준SQL문의 int형과 동일하지만, 소수점 표현도 가능함
   - number(3)   전체자릿수(3) -999~999
   - number(6,2) 전체 자릿수(6)이고, 6칸내에서 소수점 자릿수(2)
   
2) 문자형
   - char        최대길이 2000바이트
   - varchar2    최대길이 4000바이트 
   - long        최대 2GB까지
   
3) 이진파일
   - blob
   - 주의사항 : 파일을 데이터베이스에 저장하지 않음   

4) 날짜형
   - date       년월일시분초
   - timestamp  기본날짜형을 확장한 자료형

 

 

3. 마리아 DB 자료형

 

1) 숫자형 : tinyint, smallint, mediumint, int, bigint, float, double, boolean

  TINYINT(자리수)

    - 범위 : -128 에서 127 (UNSIGNED 일 경우 0 에 255)


  SMALLINT(자리수)

    - 범위 : -32768 에서 32767 (UNSIGNED 일 경우 0 에 65535)


  MEDIUMINT(자리수)

    - 범위 : -8388608 에서 8388607 (UNSIGNED 일 경우 0 에 16777215)


  INT(자리수)

    - 범위 : -2147483648 에서 2147483647 (UNSIGNED 일 경우 0 에 4294967295)

    - 주의 : 모든 연산은 “signed BIGINT” 로 이루어진다. 따라서 더하기 곱하기 등으로 “signed BIGINT” 의 범위를 벗어난다면 값이 틀려질 것이다.

 

  BIGINT(자리수)

    - 범위 : -9223372036854775808 에서 9223372036854775807 (UNSIGNED 일 경우 0 에 18446744073709551615)


  FLOAT(전체자리수, 소수점이하자리수)

    - 범위 : -3.402823466E+38 에서 -1.175494351E-38, 0 그리고 1.175494351E-38 에서 3.402823466E+38

    - 주의 : unsigned 를 설정할 수 없다.

 

  DOUBLE(전체자리수, 소수점이하자리수)

    - 범위 : -1.7976931348623157E+308 에서 -2.2250738585072014E-308, 0 그리고 2.2250738585072014E-308 에서 1.7976931348623157E+308

    - 주의 : unsigned 를 설정할수 없다.

 

2) 문자형 :  char, varchar, tinytext, text, mediumtext, longtext
             CHAR(글자수)    => 255자까지
             VARCHAR(글자수) => 255자까지
             TINYTEXT        => 255자까지
             TEXT            => 65535자까지
             MEDIUMTEXT      => 16777215자까지
             LONGTEXT        => 4294967295자까지

3) 날짜형 : date, datetime, timestamp, time, year