[SQL] 테이블 선언과 숫자형 데이터 타입

Yanghee Kim·2024년 10월 9일
0

SQL

목록 보기
1/8

1. 테이블 선언(생성) 기본 문법

1) 테이블을 생성할 데이터베이스를 사용하겠다는 명령 먼저!

CREATE DATABASE testdb;
USE testdb;

-> testdb 자리에 원하는 데이터베이스명 넣기

2) 테이블 생성하기

CREATE TABLE 테이블명 (
	컬럼명 데이터타입 및 옵션,
    컬럼명 데이터타입 및 옵션,
    .
    .
    PRIMARY KEY
)

3) 숫자 타입의 컬럼 정의하기

숫자형 데이터 타입

가장 많이 활용되는 INT, FLOAT가 제일 중요!
나머지는 참고용으로 보기.

데이터 유형정의
INT정수형 데이터 타입(4byte, 즉 2322^{32}).
-2147483648 ~ +2147483648 또는 0 ~ 4294967295 수 표현 가능
TINYINT정수형 데이터 타입(1byte, 즉 282^{8}).
-128 ~ +127 또는 0 ~ 255 수 표현 가능
SMALLINT정수형 데이터 타입(2byte, 즉 2162^{16}).
-32768 ~ 32767 또는 0 ~ 65536 수 표현 가능
FLOAT부동 소수형 데이터 타입 (4byte)
  • (참고) byte 계산법 : 1byte = 8bit. 1byte당 8을 곱한 값을 2의 제곱수로 넣어 계산하면 된다.

표현 가능한 데이터 범위(숫자)의 의미 : 232-2^{32} ~ +232+2^{32} 를 예시로
컴퓨터는 0과 1로 정보를 표현하고 저장한다.
0과 1로 표현된 수를 아래와 같이 쭉 늘어놓으면
+- 이미지
전체 32칸에서
- 첫번째 칸인 1byte(초록색)만 부호(+/-) 즉 양수인지 음수인지를 나타낸다. 0이면 -, 1이면 +이다.
- 나머지 칸들은 실제 데이터. 컴퓨터는 0과 1로 표현한다.
- 예를 들어 +15000(5자리수)를 표현하고 싶다면 부호까지 포함하여 총 6자리가 필요하다. 222^2 = 4이므로 '부호와 3자리수'까지 표현 가능하므로 +15000 표현 불가. 232^3 = 8이므로 '부호와 7자리수' 표현이 가능하므로 +15000 표현이 가능하다. 즉 내가 표현하고 싶은 자리수에 맞게 데이터 범위를 설정해주어야 한다. 보통은 INT를 사용하고, TINYINT나 SMALLINT를 굳이 선언하지 않는다.
이미지 출처

숫자 타입의 컬럼 정의 문법

가장 많이 사용되는 예시

CREATE TABLE test_table (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT,
)
  • 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개만 지정 가능.

위의 내용은 인프런 잔재미코딩님의 강의를 듣고 리뷰한 내용입니다.
profile
Data Analyst, 기획자

0개의 댓글