회사에서 공부하는데 테이블 CREATE 코드를 보니 UNIQUE INDEX, INDEX 이런 설정 부분들을 이해하기 힘들었고

제법 시간을 들여 검색했는데 결론이 조금 허탈하다... 자동 생성이었어....

 

* PRIMARY KEY : 기본키

테이블에 저장된 각각의 Row에 대한 고유성을 보장한다. 한 테이블에 하나씩만 정의할 수 있으며

PK로 지정된 컬럼에는 NULL값이 입력될 수 없고 자동으로 UNIQUE INDEX가 생성된다.

 

* UNIQUE KEY : 고유키

PRIMARY KEY와 유사하게 테이블에 저장된 각각의 Row에 대한 고유성을 보장하기 위한 제약조건이지만

NULL값이 허용된다. 자동으로 INDEX가 생성된다.

'DB' 카테고리의 다른 글

Oracle과 MySQL 다른 문법 정리  (0) 2023.02.07

학원에서는 오라클만 사용했지만 회사에서는 MariaDB도 사용하니까 미리미리 오라클이랑 다른 문법 정리해두기✍

아예 MySQL 문법을 공부할까 싶기도...

 

  MySQL Oracle
INSERT INSERT INTO 테이블이름
SET 컬럼 = #{입력값1}, 컬럼2 = #{입력값2}, ...
INSERT INTO 테이블이름 (컬럼1, 컬럼2, ... )
VALUES (#{입력값1}, #{입력값2}, ...)
현재 날짜시간 NOW() SYSDATE
문자열 합치기 CONCAT('M', 'y', 'SQL') '오'||'라'||'클'
문자열 자르기 SUBSTRING(문자열, 1, 3),
LEFT(문자열, 3), RIGHT(문자열, 3)
SUBSTR(문자열, 1, 3)
공백 치환 함수 IFNULL (컬럼명, 대체값) NVL(컬럼명, 대체값)
형변환 CAST (데이터 AS 변환할 자료형) TO_NUMBER, TO_CHAR 등
날짜 포맷 DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
// 년도 : 대문자 Y는 4자리, 소문자 y는 2자리
TO_CHAR(SYSDATE,'MMDDYYYYHH24MISS')
날짜 포맷:요일 DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), '%w')
DATE_FORMAT(NOW(), '%w')
//요일 0
~6 인식
TO_CHAR(SYSDATE - 1, 'D')
// 요일
1~7 인식 (자스 0~6인식해서 -1)
대소문자 구분 구분O 설정에서 변경도 가능 구분X
ROWNUM WHERE절 없이
LIMIT 5, 10
WHERE절에
ROWNUM > 5 AND ROWNUM =< 10

시퀀스 사용 시퀀스명.CURRVAL
SEQUENCE 없음 (23.02.10 수정)
시퀀스명.NEXTVAL
예약어가 컬럼명 컬럼명을 `키(탭 위에 있는 키)로 감쌈 컬럼명을 "로 감쌈
저장 프로시저
유무 파악해서
CREATE하기
DROP PROCEDURE IF EXISTS 프로시저명;
한 뒤에 CREATE PROCEDURE 프로시저명
CREATE OR REPLACE PROCEDURE 프로시저명

 

'DB' 카테고리의 다른 글

[SQL] PRIMARY KEY / UNIQUE KEY 인덱스 자동 생성  (0) 2023.02.10

+ Recent posts