MySQL

[MySQL] Real MySQL 8.0

lakelight 2022. 8. 25. 10:07
728x90
반응형

쿼리 작성과 연관된 시스템 변수

1. ONLY_FULL_GROUP_BY
GROUP BY 절에 포함되지 않은 칼럼이라도 집합 함수의 사용 없이 그대로 SELECT 절이나 HAVING 절에 사용할 수 있습니다.

2. STRICT_TRANS_TABLES
서버에서 INSERT나 UPDATE 문장으로 데이터를 변경하는 경우 칼럼의 타입과 저장되는 값의 타입이 다를 때 자동으로 타입변경을 수행합니다.

예를들어
SELECT * FROM test_table WHERE number_column='100';
▶ 숫자 속성에 문자열 타입을 입력했을 때 기본적으로 숫자로 변환되기 때문에 이 경우는 문제가 되지 않지만

SELECT * FROM test_table WHERE string_column=100;
▶ 문자열 속성에 숫자 타입을 입력했을 때는 문자열 속성이 숫자로 변환되어 실행되기 때문에 문제가 생길 수 있습니다.
 

3. NO_ZERO_IN_DATE & NO_ZERO_DATE
서버는 DATE 또는 DATETIME 타입의 칼럼에 잘못된 날짜를 저장하는 것을 못하게 합니다.

5. ERROR_FOR_DIVISION_BY_ZERO
0으로 나누는 것에 대한 에러를 출력합니다.

6. NO_ENGINE_SUBSTITUTION
CREATE TABLE또는 ALTER TABLE 같은 명령문이 비활성화 되었거나 또는 컴파일 되지 않은 스토리지 엔진을 지정할 때 디폴트 스토리지 엔진으로 자동 대체 되는 것을 막습니다.

 

MySQL 연산자

동등 비교

보통 = 연산자를 통해서 비교를 하지만 NULL 값에 대한 비교까지 수행하기 위해 <=> 연산자를 사용합니다.

 

 

 

728x90
반응형