Oracle에서 MySQL로 데이터베이스를 이관 시 쿼리문 변경 사항
1. 데이터 타입 변경
- VARCHAR2 → VARCHAR: Oracle의 VARCHAR2는 MySQL에서는 VARCHAR로 변경
- NUMBER → INT 또는 DECIMAL: Oracle의 NUMBER는 MySQL에서 INT, DECIMAL 등의 적절한 타입으로 변환
- CLOB → TEXT: Oracle의 CLOB는 MySQL의 TEXT로 변환
- DATE → DATETIME: Oracle의 DATE는 MySQL의 DATETIME으로 변환
2. 함수 및 연산자 변경
- SYSDATE → NOW(): Oracle의 SYSDATE는 MySQL의 NOW()로 변환
- NVL → IFNULL: Oracle의 NVL 함수는 MySQL의 IFNULL로 변환
- DECODE → CASE: Oracle의 DECODE는 MySQL의 CASE 문으로 변환
3. 문자열 연산
- || → CONCAT: Oracle의 문자열 연결 연산자인 ||는 MySQL의 CONCAT 함수로 변환
4. LIMIT 및 OFFSET
- Oracle의 ROWNUM 또는 ROW_NUMBER() 사용 시, MySQL에서는 LIMIT과 OFFSET 구문을 사용
-- Oracle
SELECT * FROM my_table WHERE ROWNUM <= 10;
-- MySQL
SELECT * FROM my_table LIMIT 10;
5. 외래 키 및 제약 조건
- Oracle에서는 ON DELETE CASCADE와 같은 옵션을 사용
- MySQL에서는 동일하게 사용
6. 시퀀스
- Oracle의 시퀀스는 MySQL에서 AUTO_INCREMENT 속성을 사용하여 대체
- 테이블 생성 시 해당 컬럼에 AUTO_INCREMENT를 추가
2024.10.03
'SQL(MySQL)' 카테고리의 다른 글
| [MySQL] 02. LIMIT과 OFFSET (0) | 2024.10.07 |
|---|---|
| [MySQL] 01-2. SQLines를 이용한 마이그레이션 시 유의 사항 (0) | 2024.10.07 |
| [MySQL] 01. Oracle에서 MySQL로 마이그레이션 (2) | 2024.10.02 |
| [MySQL] 00. MySQL 설치 (1) | 2024.09.30 |