[혼공 SQL] 데이터 형식
정수
문자형
VARCHAR가 CHAR보다 공간을 효율적으로 운영할 수 있지만, MySQL 내부적으로 성능(빠른 속도)면에서는 CHAR로 설정하는 것이 조금 더 좋습니다.
CHAR는 글자의 개수가 고정된 경우, VARCHAR는 글자의 개수가 변동될 경우에 사용하는 것이 좋습니다.
대량의 데이터 형식
LONGTEXT 및 LONGBLOB로 설정하면 각 데이터는 최대 4GB까지 입력할 수 있습니다.
대량의 텍스트는 LONGTEXT, 대량의 이진 데이터는 LONGBLOB로 설정합니다.
실수형
FLOAT와 DOUBLE은 거의 비슷합니다. 소수점 아래를 어디까지 정밀하게 표현하는지의 차이인데, 과학 기술용 데이터가 아닌 이상 FLOAT면 충분합니다.
날짜형
DATE는 날짜만, TIME은 시간만 저장합니다. 날짜와 시간을 둘 다 저장하고 싶으면 DATETIME을 사용합니다.
날짜 또는 시간을 입력할 때는 문자와 마찬가지로 작은 따옴표로 묶어줘야 합니다.
변수의 사용
SET @변수이름 = 변수의 값; --> 변수의 선언 및 값 대입
SELECT @변수이름; --> 변수의 값 출력
변수는 MySQL 워크벤치를 재시작할 때까지는 유지되지만, 종료하면 없어집니다. 그러므로 임시로 사용한다고 생각하면 됩니다.
LIMIT에는 변수를 사용할 수 없으므로 PREPARE와 EXECUTE를 사용할 수 있다.
PREPARE는 실행하지 않고 SQL문만 준비해 놓고 EXECUTE에서 실행하는 방식입니다.
데이터 형 변환
<함수를 이용한 명시적인 변환>
CAST(값 AS 데이터_형식 [(길이)]
CONVERT(값, 데이터_형식 [(길이)]
<암시적인 변환>
CAST()나 CONVERT() 함수를 사용하지 않고도 자연스럽게 형이 변환되는 것을 말합니다.