CREATE DATABASE testdb;
USE testdb;
-> testdb 자리에 원하는 데이터베이스명 넣기
CREATE TABLE 테이블명 (
컬럼명 데이터타입 및 옵션,
컬럼명 데이터타입 및 옵션,
.
.
PRIMARY KEY
)
가장 많이 활용되는 INT, FLOAT가 제일 중요!
나머지는 참고용으로 보기.
데이터 유형 | 정의 |
---|---|
INT | 정수형 데이터 타입(4byte, 즉 ). -2147483648 ~ +2147483648 또는 0 ~ 4294967295 수 표현 가능 |
TINYINT | 정수형 데이터 타입(1byte, 즉 ). -128 ~ +127 또는 0 ~ 255 수 표현 가능 |
SMALLINT | 정수형 데이터 타입(2byte, 즉 ). -32768 ~ 32767 또는 0 ~ 65536 수 표현 가능 |
FLOAT | 부동 소수형 데이터 타입 (4byte) |
표현 가능한 데이터 범위(숫자)의 의미 : ~ 를 예시로
컴퓨터는 0과 1로 정보를 표현하고 저장한다.
0과 1로 표현된 수를 아래와 같이 쭉 늘어놓으면
전체 32칸에서
- 첫번째 칸인 1byte(초록색)만 부호(+/-) 즉 양수인지 음수인지를 나타낸다. 0이면 -, 1이면 +이다.
- 나머지 칸들은 실제 데이터. 컴퓨터는 0과 1로 표현한다.
- 예를 들어 +15000(5자리수)를 표현하고 싶다면 부호까지 포함하여 총 6자리가 필요하다. = 4이므로 '부호와 3자리수'까지 표현 가능하므로 +15000 표현 불가. = 8이므로 '부호와 7자리수' 표현이 가능하므로 +15000 표현이 가능하다. 즉 내가 표현하고 싶은 자리수에 맞게 데이터 범위를 설정해주어야 한다. 보통은 INT를 사용하고, TINYINT나 SMALLINT를 굳이 선언하지 않는다.
이미지 출처
가장 많이 사용되는 예시
CREATE TABLE test_table (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
)
옵션
- UNSIGNED : 양수만 사용하는 옵션
- 자리 수를 양수로(ex. 0 ~ 255) 쓰고 싶을 때 사용 (ex. -128 ~ +127 이 아닌)- NOT NULL : 레코드마다 반드시 값이 있어야 한다는 옵션. 빈 값(데이터에 값이 할당되지 않는 경우)이 있으면 안될 때 사용.
- AUTO_INCREMENT :
- 보통 Primary key로 지정된 컬럼에 넣는 옵션. 지금까지 사용된 컬럼 값 중 최대값을 찾고, 그에 이어서 1씩 더한 값을 자동으로 넣어준다. 따라서 Primary key 값으로 어떤 값부터 넣어야하는지 직접 찾지 않아도 된다.
- 해당 컬럼의 값은 양의 정수만 등록할 수 있어야 한다.
- 테이블 안에서 AUTO_INCREMENT 컬럼은 1개만 지정 가능.