MySQL에서 제공하는 기본 타입은 다음과 같다.
숫자 타입
문자열 타입
날짜와 시간 타입
정수 타입(integer types)
고정 소수점 타입(fixed-point types)
부동 소수점 타입(floating-point types)
비트값 타입(bit-value type)
MySQL에서 고정 소수점 타입인 DECIMAL은 실수의 값을 정확하게 표현하기 위해 사용된다.
DECIMAL(M,D)
M은 소수 부분을 포함한 실수의 총 자릿수를 나타내며, 최댓값은 65이다.
D는 소수 부분의 자릿수를 나타내며, D가 0이면 소수 부분을 가지지 않는다.
MySQL에서 부동 소수점 타입인 FLOAT과 DOUBLE은 실수의 값을 대략적으로 표현하기 위해 사용된다.
QL 표준에서 FLOAT는 정밀도에 필요한 최소한의 비트 수를 명시할 수 있습니다.
표준
FLOAT(P) // P는 비트수 0~24는 FLOAT, 25~53은 DOUBLE
비표준
FLOAT(M,D)
DOUBLE(M,D)
//M은 소수 부분을 포함한 실수의 총 자릿수를 나타내며, D는 소수 부분의 자릿수를 나타냅니다.
BIT(M)
CHAR와 VARCHAR
- BINARY와 VARBINARY
ENUM
SET
CHAR와 VARCHAR는 둘다 문자열 데이터를 저장할 수 있는 타입이지만,
저장 방식과 추출 방식 그리고 최대 길이를 다루는 방식에서 차이점을 가진다.
CHAR는 문자열을 길이가 한 번 설정되면 그대로 고정되는 고정 길이,
VARCHAR는 문자열을 길이가 고정되지 않는 가변 길이의 문자열로 다룹니다.
BINARY와 VARBINARY는 각각 CHAR와 VARCHAR과 거의 비슷합니다.
다만 BINARY와 VARBINARY는 문자 집합이 아닌 바이너리(binary) 데이터를 저장할 때 사용된다는 점만이 다릅니다.
ENUM은 미리 정의한 집합 안의 요소 중 하나만을 저장할 수 있는 타입이다.
ENUM을 사용하면 가독성을 높일 수 있으며, 특정 숫자에 문자열로 의미를 부여할 수 있다.
ENUM('데이터값1','데이터값2',...)
###SET
SET은 미리 정의한 집합 안의 요소 중 여러 개를 동시에 저장할 수 있는 타입이다.
SET 목록 집합은 최대 64개의 SET 데이터를 포함할 수 있다.
SET('데이터값1', '데이터값2', ...)
MySQL은 날짜와 시간에 관한 다양한 형태의 타입을 제공합니다.
-> 사용자가 별다른 입력을 주지 않으면 마지막으로 입력되거나 저장된 시간이 저장된다. 데이터의 최종 변경 시각을 저장하고 확인하는 데 유용하게 사용된다.
유효하지 않은 시간 날짜 등은 0 으로 표시된다.
대입 연산자는 '=' , ':=' 두 가지가 있다.
MySQL 에서 = 는 상황에 따라 대입 연산자와 비교 연산자 두 가지로 해석된다.
따라서 작성자의 의도와는 다르게 해석될 여지가 있다.
그러므로 대입 연산자로는 ':=' 를 사용하자.
출처: http://tcpschool.com/mysql/mysql_operator_logic