반응형

DB/MySQL 24

[MySQL] 왜래키(Foreign Key) 정리

외래키 사용환경 InnoDB 엔진을 쓰는 테이블에만 사용 가능하다. 옵션 설명 외래키를 지정할 때는 몇가지 옵션이 존재하는데 이 옵션을 정확하게 파악하지 않고 사용하게 되면 나중에 운영에 큰 치명타를 입을 수 있다. //변경제약 ON UPDATE RESTRICT | CASCADE | NO ACTION | SET NULL //삭제제약 ON DELETE RESTRICT | CASCADE | NO ACTION | SET NULL CASCADE A개체를 변경/삭제할때, A개체를 참조하고 있는 모든 개체들이 변경/삭제된다. RESTRICT A개체를 변경/삭제할때, A개체를 참조하고 있는 개체가 존재하면 A개체에 대한 명령(변경/삭제)이 취소된다. NO ACTION MySQL에서는 RESTRICT와 동일함 SET ..

DB/MySQL 2022.04.01

[MySQL] 시간 더하기, 빼기 (DATE_ADD, DATE_SUB 함수)

MySQL 시간 더하기, 빼기 (DATE_ADD, DATE_SUB 함수) MySQL에서 특정 시간을 기준으로 더하거나, 빼야 하는 경우가 있습니다. 이 때 사용하는 함수가 DATE_ADD와 DATE_SUB입니다. DATE_ADD는 기준 날짜에 입력된 기간만큼을 더하는 함수입니다. DATE_SUB는 기준 날짜에 입력된 기간만큼을 빼는 함수입니다. 사용법 - 시간 더하기 DATE_ADD(기준 날짜, INTERVAL) - 시간 빼기 DATE_SUB(기준 날짜, INTERVAL) Example Query DATE_ADD 쿼리 // 현재 시간 > SELECT NOW(); //결과 > 2021-01-17 12:00:00 현재 시간에 1초 더하기 //쿼리 > SELECT DATE_ADD(NOW(), INTERVAL ..

DB/MySQL 2022.04.01

[MySQL] DATETIME 원하는 유형으로 변경 (YYMMDD)

MySQL에서 DATETIME 타입은 YYYY-MM-DD hh:mm:ss 와 같은 형식으로 반환한다. Mysql 공식 문서 12.7 Date and Time Functions 실제로 이걸 이대로 쓴적은 한번도 없는거 같다. 그래서 필요에 따라서 YYYY-MM-DD까지만 짤라서 쓰거나 시분초가 필요없을때는 처음부터 타입을 DATE형으로 지정할때도 있다. DATETIME타입은 YYYY-MM-DD hh:mm:ss 의 형식을 가진다. 반면 DATE타입은 YYYY-MM-DD 의 형식을 가지며 DATE_FORMAT으로 %Y-%m-%d %h:%m:%s 형식을 지정하면 시분초값은 0으로 채워지게된다. FORMAT설명 %M Month 월(Janeary, February ...) %m Month 월(01, 02, 03 ...

DB/MySQL 2022.04.01

[MySQL] Trigger 사용법 / 특정 테이블 변경 시 관련 테이블 이벤트 실행

Trigger란? 위 뜻 들의 공통점은 특정한 원인이 있으면 특정한 결과를 만들어낸다는 것 (총은 위협할 대상이 있으면 방아쇠를 당긴다, 도화선은 불을 붙이면 터진다, 촉발시키다는 어떤 자극 주어 어떤 결과를 만든다) MySQL에서의 Tirrger 동작 또한 다르지 않습니다, 특정 동작(원인)이 있으면 특정 결과를 만들어냅니다. 하나의 SQL 동작을 함과 동시에 그에 맞춰 또 다른 동작을 처리하는 장치라고 할 수 있습니다. 주로 INSERT, UPDATE, DELETE 동작에 쓰입니다. Trigger는 지정된 테이블의 변경을 감지하여 INSERT / UPDATE / DELETE 이벤트가 일어났을 때 설정한 이벤트를 실행하도록 합니다. A테이블의 어떤 row의 name 필드의 값이 UPDATE 되면 B테이..

DB/MySQL 2022.04.01
반응형