[MySQL] Oracle 과 데이터타입 비교

15-12-03 by 최고관리자

* Oracle 과 비교

 

- 데이터 타입

 

MySQL

Oracle

int(11)

varchar(30)

char(30)

tinyint

smallint

mediumint

int

integer

bigint

double

bit

blob

date

datetime

decimal

double

double precision

enum

float

longblob

longtext

mediumblob

mediumint

mediumtext

numeric

real

set

text

time

timestamp

tinyblob

tinyint

tinytext

year

number(11)

varchar2(30)

char(30)

number(3)

number(5)

number(8)

number(10)

number(10)

number(20)

number(10,5)

raw

blob, raw

date

date

float(24)

float(24)

float(24)

varchar2

float

blob, raw

clob, raw

blob, raw

number(7)

clob, raw

number

float(24)

varchar2

varchar2, clob

date

date

raw

number(3)

varchar2

number

- auto_increment 인 경우 sequence 값과 같다고 보면 된다.

 

 

 

 

#####################################
#  MySQL 을 Oracle 로 이전하기       # 
#####################################

작성자 : 장형화(hhjang97@venus.uos.ac.kr)
작성일 : 2005. 03. 08 
수정일 : 

원본 :
설명 :

MySQL의 내용을 Oracle로 옮기면서 사용한 내용을 정리함

################################# #################################
#################################


1. 데이터 타입을 바꾼다.
  MySQL 메뉴얼 : 7.2 Column types 참고 
  
	int(11) 	=>  number(11)
	varchar(30)	=>	varchar2(30)
	char(30)	=>	char(30)

	TINYINT		=> number(3) : 255
	SMALLINT	=> number(5) : 65535
	MEDIUMINT	=> number(8) : 16777215
	INT			=> number(10): 4294967295
	BIGINT		=> number(20): 18446744073709551615
	FLOAT		=> : 1.175494351E-38 to 3.402823466E+38
	DOUBLE		=> : 2.2250738585072014E-308 to 1.7976931348623157E+308
	DECIMAL		=> 
	DATE		=> : 'YYYY-MM-DD' 
	DATETIME	=> : '1000-01-01 00:00:00' to '9999-12-31 23:59:59'
	TIMESTAMP	=> number(11)
	TIME		=> : 'HH:MM:SS' 
	YEAR		=> : 1901 to 2155
	CHAR		=> CHAR
	VARCHAR		=> VARCHAR2
	TINYBLOB	
	TINYTEXT	=> CHAR(255)
	TEXT		=> VARCHAR2(65535) : (2^16 - 1) 
	BLOB
	MEDIUMBLOB
	MEDIUMTEXT	=> VARCHAR2(16777215) : (2^24 - 1) 
	LONGBLOB	
	LONGTEXT	=> VARCHAR2(4294967295) : (2^32 - 1) 
	ENUM
	SET	
	
2. auto_increment 인 경우 sequence 값을 만든다. 
  - "테이블이름_seq" 형식으로 만든다. 
    한 테이블에 여러개가 있으면 column_seq 로 추가한다.
  - user 테이블의 no 인 경우는 user_seq 가 된다. 

CREATE sequence tablename_seq
INCREMENT BY 1      -- 증가치
START WITH 1        -- 시작
MAXVALUE 9999999    -- 종점
NOCACHE             --
NOCYCLE;


3. key 값

  "PRIMARY KEY  (no)" 는 그대로 설정해도 된다. 
  
4. NOT NULL 과 DEFAULT 의 위치를 바꾼다. 
  서로 순서가 다른거 같다. 

  - MySQL
    NOT NULL default '',
    
  - Oracle 
    DEFAULT '' NOT NULL ,
    

5. \' 나 \" 로 되어 있는것을 '' 로 바꿔야 한다. 




Comments

  1. 등록된 코멘트가 없습니다.

Leave a Comment

자동등록방지 숫자를 순서대로 입력하세요.