MySQL 명령어 정리 (5) - MySQL 내장함수
# MySQL 내장함수 ## 제어 흐름 함수 ### IF(수식, 참, 거짓) ``` sql SELECT IF(100>200, '참이다.', '거짓이다.'); ``` 수식이 거짓이므로 `거짓이다.`를 출력. ### IFNULL(수식1, 수식2) 수식1이 NULL인 경우 수식2를 출력. 수식1이 NULL이 아닌 경우 수식1을 출력. ``` sql SELECT IFNULL(NULL, 200); -- 200 SELECT IFNULL(NULL, '널입니다.'); -- 널입니다. SELECT IFNULL(100, 50); -- 100 ``` ### NULLIF(수식1, 수식2) 수식1과 수식2가 같으면 NULL을 반환. 다르면 수식1을 반환. ``` sql SELECT NULLIF(2*5, 5*2); -- NULL..
2024. 11. 5.
INSERT 중복키 문제 처리
INSERT 중복키 문제 처리만약 INSERT를 할 때 삽입하는 데이터의 키가 중복키라면 삽입이 되지 않는다. 또한 오류가 발생한 쿼리 이후의 쿼리들도 실행되지 않는다.INSERT INTO 테이블명 VALUES(값1, 값2, 값3);INSERT INTO 테이블명 VALUES(값4, 값5, 값6);INSERT INTO 테이블명 VALUES(값7, 값8, 값9);만약 값1이라는 키가 이미 존재한다면, 첫번째 쿼리가 실행되지 않는다. 그리고 두번째, 세번째 쿼리까지 모두 실행이 되지 않을 것이다.이에 대한 핸들링 방법은 두가지가 있다.1. IGNOREINSERT IGNORE INTO 테이블명 VALUES(값1, 값2, 값3);INSERT IGNORE INTO 테이블명 VALUES(값4, 값5, 값6);INSE..
2024. 11. 5.
MySQL 명령어 정리 (3) 다른 테이블 데이터 가져오기, 여러 데이터 입력
다른 테이블 데이터 가져오기테이블을 만들고 데이터 가져오기CREATE TABLE 테이블명2(컬럼1 데이터타입1, 컬럼2 데이터타입2);INSERT INTO 테이블명2 SELECT 컬럼1, 컬럼2 FROM 테이블명1;만들면서 데이터 설정CREATE TABLE 테이블명2( SELECT 컬럼1, 컬럼2 FROM 테이블명1);CREATE TABLE에서 SELECT 문을 사용해 다른 테이블을 복사할 수 있다.필요한 컬럼들만 선택하거나, limit을 주어서 복사할 수도 있다. 컬럼, 데이터 타입, null 조건, 내부 데이터는 그대로 복사가 되지만,PK, FK 와 같은 제약 조건은 복사되지 않음에 주의해야 한다.한꺼번에 여러 데이터 입력INSERT INTO 테이블명VALUES(값1, 값2, ...), (값3,..
2024. 11. 5.