본문 바로가기

개발자정보

Oracle > MySQL 변경 시 주의사항

반응형
Oracle MySQL
AFTER trigger trigger
BEFORE trigger trigger
Check constraint Check constraint
Column default Column default
Database Database
Foreign key Foreign key
Index Index
Package N/A
PL/SQL function Routine
PL/SQL procedure Routine
Primary key Primary key
Role N/A
Schema Schema
Sequence AUTO_INCREMENT for a column
Snapshot N/A
Synonym N/A
Table Table
Tablespace N/A
Temporary table Temporary table
Trigger for each row Trigger for each row
Unique key Unique key
User User
View View

 

MySQL Data Type Oracle Data Type
BIGINT NUMBER(19, 0)
BIT RAW
BLOB BLOB, RAW
CHAR CHAR
DATE DATE
DATETIME DATE
DECIMAL FLOAT (24)
DOUBLE FLOAT (24)
DOUBLE PRECISION FLOAT (24)
ENUM VARCHAR2
FLOAT FLOAT
INT NUMBER(10, 0)
INTEGER NUMBER(10, 0)
LONGBLOB BLOB, RAW
LONGTEXT CLOB, RAW
MEDIUMBLOB BLOB, RAW
MEDIUMINT NUMBER(7, 0)
MEDIUMTEXT CLOB, RAW
NUMERIC NUMBER
REAL FLOAT (24)
SET VARCHAR2
SMALLINT NUMBER(5, 0)
TEXT VARCHAR2, CLOB
TIME DATE
TIMESTAMP DATE
TINYBLOB RAW
TINYINT NUMBER(3, 0)
TINYTEXT VARCHAR2
VARCHAR VARCHAR2, CLOB
YEAR NUMBER

 

함수 비교 및 주의 사항 정리 필요.

 

 

 

 

 

Orcle은 Empty String이 Null로 인식하지만 MySQL은 별도로 인식합니다.

 

 

- 재귀 Query : 테이블 별 재귀 함수 또는 별도 테이블 관리가 필요합니다.

- 업무 별 채번 테이블 관리 : 공통으로 채번 체계 관리 필요합니다.

- View or 서브쿼리는 템프테이블을 사용하면 인덱스를 사용하지 못하는 문제점으로 서브쿼리 활용이 바람직합니다.

- 컬럼간 비교는 On절 사용합니다.

- 비결정함수의 경우 문제가 발생 할 수 있으니 확인 후 사용합니다.

 

now() 함수는 현재일시를 문장형으로 리턴하고 now()+0으로 하여 숫자형으로 리턴 할 수 있으나 date_format함수를 권장합니다.

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

 

 

 

 

LOAD DATA Statement

LOAD DATA
    [LOW_PRIORITY | CONCURRENT] [LOCAL]
    INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [CHARACTER SET charset_name]
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number {LINES | ROWS}]
    [(col_name_or_user_var
        [, col_name_or_user_var] ...)]
    [SET col_name={expr | DEFAULT}
        [, col_name={expr | DEFAULT}] ...]
LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
  IGNORE 1 LINES;

CharacterEscape Sequence

\0 An ASCII NUL (X'00') character
\b A backspace character
\n A newline (linefeed) character
\r A carriage return character
\t A tab character.
\Z ASCII 26 (Control+Z)
\N NULL

https://dev.mysql.com/doc/refman/8.0/en/load-data.html

반응형