1.정수형 데이터 형식
TINYINT-SMALLINT-INT-BIGINT (2^0 ~ 2^3)
TINYINT UNSIGNED 를 해주면 음수 부분 만큼 양수부분이 증가하고 음수부분은 계산하지 않는다.
2.CHAR와 VARCHAR
VARCHAR가 동적배열이고 CHAR이 정적배열이라고 생각하면 편하다.동적 배열은 당연하게도 정적배열보다 소요 시간이 더 높다.
고정된 길이일때 CHAR를 사용해주자!예)우리나라 도시이름인 서울 경기 인천 은 모두 두 글자로 사용되므로 CHAR를 사용하지만 도시의 명소들은 길이가 제각각이므로 VARCHAR를 사용한다.
3.실수형
FLOAT (4바이트) 이거면 사실상 충분..
DOUBLE(8바이트)
4.날짜형
DATE(3)
TIME(3)
DATETIME(8)
4.변수
SET @ 변수이름=변수의 값;
SELECT @ 변수
당연하게도 변수는 '임시적' 이다.
5.PREPARE EXECUTE
PREPARE 하이 FROM 'SQL명령어 ?'
EXECUTE 하이 FROM USING @count
이렇게하면 count변수의 값이 명령어의 ?부분에 들어간다.
6.형변환
SELECT CAST(무언가를 AS 원하는 형으로)->기본 형식
SELECT CONCAT('100','200') 이거는 SELECT '100'+'200'이랑 동일할까?
답은 '아니다'.
첫번쨰인 CONCAT은 정수 문자 혹은 문자 문자 일 경우 존재하는게 전부 문자로 변경돼서 처리가 돼지만
그냥 더해기를 해주면 정수로 형변환이 된다.
SELECT 1>'2aha' 이건 어떨까? aha를 무시하고 이건 1>2 의 boolean값이 리턴된다.
SELECT 0='aha' 이경우 문자는 0으로 변환된다.