A. 데이터 형식
정수형
데이터 형식 | 바이트 수 | 숫자 범위 |
TINYINT | 1 | -128 ~ 127 |
SMALLINT | 2 | -32,768 ~ 32,767 |
INT | 4 | 약 -21억 ~ +21억 |
BIGINT | 8 | 약 ~900경 ~ +900경 |
- 그룹 인원을 지정할 때는 TINYINT도 충분
- 평균 키를 지정할 때도 TINYINT를 사용할 수 있지만, 128cm 이상인 사람들을 위해
- 값의 범위가 0부터 시작되는 UNSIGNED 예약어 사용! 255cm까지 커버 가능.
문자형
데이터 형식 | 바이트 수 |
CHAR(개수) | 1~255 |
VARCHAR(개수) | 1~16383 |
TEXT | 1~65535 |
LONGTEXT | 1~4294967295 |
BLOB | 1~65535 |
LONGBLOB | 1~ 4294967295 |
- CHAR은 고정길이 문자형, CHAR(10)을 지정하면 입력된 글자수에 상관 없이 10자리를 모두 확보한다.
- VARCHAR은 가별길이 문자형, VARCHAR(10)에 3글자만 저장하면 3자리만 사용한다.
- VARCHAR가 공간을 더 효율적으로 사용하지만, 내부적인 성능(속도)면에서는 CHAR가 좋다.
- LONGTEXT는 최대 약 42억자까지 저장한다.소설이나 영화 대본 등에 필요하다.
- BLOB은 글자가 아닌 이미지, 동영상 등의 데이터. 이진(Binary) 데이터!
- LONG은 최대 4GB까지 입력 가능하다.
실수형
데이터 형식 | 바이트 수 | 설명 |
FLOAT | 4 | 소수점 아래 7자리까지 표현 |
DOUBLE | 8 | 소수점아래 15자리까지 표현 |
날짜형
데이터 형식 | 바이트 수 | 설명 |
DATE | 3 | 날짜만 저장 YYYY-MM-DD |
TIME | 3 | 시간만 저장 HH:MM:SS |
DATETIME | 8 | 날짜 및 시간 저장 |
B. 변수 사용
SET @변수이름 = 변수의 값 ;
SELECT @변수이름 ;
데이터 형변환
CAST (값 AS 데이터_형식 [ (길이) ])
CONVERT (값, 데이터_형식 [ (길이) ])
- CAST()에는 CHAR, SIGNED, UNSIGNED, DATE, TIME, DATETIME 등이 올 수 있다.
- SIGEND: 부호가 있는 정수
- UNSIGNED: 부호가 없는 정수
SELECT CAST(AVG(price)AS SIGNED) '평균 가격' FROM buy;
SELECT CONVERT(AVG(price), SIGNED) '평균 가격' FROM buy;
CONCAT(): 문자를 이어주는 함수
- 숫자와 문자를 CONCAT(100, '200') 연결하면 자동으로 문자열 100200 출력
- CONCAT() 사용 없이도 숫자 100과 문자 '200'을 더하면 자동으로 300 출력
SELECT num, CONCAT(CAST(price AS CHAR), 'X', CAST(amount AS CHAR), '=')
'가격X수량', price*amount '구매액'
FROM buy;
'SQL' 카테고리의 다른 글
JOIN (0) | 2024.01.23 |
---|---|
NoSQL (1) | 2024.01.23 |
Transaction (1) | 2024.01.22 |
D2. SQL 문법 (1) | 2024.01.22 |
D1. 데이터베이스 개요 (1) | 2024.01.10 |