티스토리 뷰

Backend/Spring

#11 MySQL - CREATE TABLE

RadderNepa 2023. 8. 13. 00:35

- CLI를 이용해 MySQL을 다룰것이다.

 

1. 데이터베이스 만들기

[데이터베이스 생성]
CREATE DATABASE LIBRARY;

[데이터베이스 삭제]
DROP DATABASE LIBRARY;

- 데이터베이스 목록을 확인한 후 생성한 LIBRARY 데이터베이스 안으로 들어가보자

- 데이터베이스 안으로 들어가야 거기에서 테이블을 만들 수 있다.

[데이터베이스 목록 확인]
SHOW DATABASES;

[데이터베이스 안으로 들어가기]
USE LIBRARY; -> USE [데이터베이스 이름];

library 제외 나머지는 기본적으로 MySQL에 있는 데이터베이스들이다.

 

2. 테이블 만들기

- LIBRARY 데이터베이스의 테이블 목록을 확인해보자(당연히 없을 것이다.)

SHOW TABLES;

- 본격적으로 TABLE을 만들어보자

CREATE TABLE [테이블 이름] (
    [필드1 이름] [타입] [부가조건],
    [필드2 이름] [타입] [부가조건],
    ...
    primary key ([필드이름])
);
===================================================================
CREATE TABLE FRUIT (
    ID              BIGINT AUTO_INCREMENT,
    NAME            VARCHAR(20),
    PRICE           INT,
    STOCKED_DATE    DATE,
    PRIMARY KEY (ID)
);

- BIGINT는 java의 Long 타입과 동일하다. / AUTO_INCREMENT는 부가조건이다.
- AUTO_INCREMENT가 설정되면 데이터를 명시적으로 넣지 않아도 1부터 +1씩 증가해 자동으로 INSERT 된다.
- PRIMARY KEY = 유일키

cf)

[테이블 삭제]
DROP TABLE [테이블명];

 

3. MySQL 데이터 타입

(1). 정수타입

- TINYINT : 1바이트 정수 = JAVA의 byte
- INT : 4바이트 정수 = JAVA의 int
- BIGINT : 8바이트 정수 = JAVA의 long

→ ID는 21억건을 넘을 가능성이 있으므로 가장 큰 BIGINT를 사용하는게 좋다.

 

(2). 실수타입

- DOUBLE : 8바이트 정수
DECIMAL(A, B) : 소수점을 B개 가지고 있는 전체 A 자릿수 실수     ex) Decimal(4,2) = 12.23

cf) postgreSQL의 numeric(7,3)과 동일한 의미 = 전체 자리는 7자리, 그 중 소수점은 3자리를 의미

 

(3). 문자열 타입

- CHAR(n) : n자리 글자가 들어갈 수 있는 문자열  무조건 n자리의 글자가 고정되어 들어간다.

- VARCHAR(n) : 최대 n자리 글자가 들어갈 수 있는 문자열 n자리 범위 내의 글자는 자유롭게 들어갈 수 있다.

 

(4). 날짜, 시간 타입

- DATE : 날짜, yyyy-MM-dd
- TIME : 시간, HH:mm:ss
- DATETIME : 날짜와 시간을 합친 타입, yyyy-MM-dd HH:mm:ss

 

4. DDL(데이터 정의어)

- 오늘 사용한 SQL을 Data Definition Language이라고 한다.

'Backend > Spring' 카테고리의 다른 글

#13 Spring - MySQL 연동  (0) 2023.08.16
#12 MySQL - CRUD with DML  (0) 2023.08.14
#10 유저 조회 API  (0) 2023.08.12
#9 유저 생성 API  (0) 2023.08.11
#8 GET API의 DTO와 POST API의 DTO가 차이가 나는 이유  (0) 2023.08.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함