데이터베이스 공부/인프런 이고잉 DATABASE 1&2 - MySQL 노트정리

3. DATABASE 2 - MySQL 테이블의 생성

모항 2023. 3. 18. 18:04

테이블에 대한 기본적인 설명과 함께 테이블 하나를 만들어보는 실습 과정이다.

세 개의 영상으로 구성되어있지만, 각 영상 사이 겹치는 부분이 많아 대제목을 구분하지 않고 합하여 정리하였다.

 

어떤 테이블을 만들 것인가

실습을 시작하기 전, 어떤 테이블을 만들 것인지를 강사님이 스프레드시트 상에서 보여준다.

테이블의 이름은 topic이며, 각 데이터를 구성하는 컬럼은 다음과 같다.

  • id - 각 데이터를 구분하는 수
  • title - 토픽의 제목
  • description - 토픽에 대한 설명글
  • created - 토픽을 작성한 날짜 및 시각
  • author - 작성자
  • profile - 작성자의 소개글

 

테이블 생성 실습

먼저 저번 회차들에서 세팅해준 대로 root 유저로 로그인한다.

(Windows 기준) cmd에 mysql -uroot -p를 입력한 뒤 패스워드를 입력하면 성공적으로 로그인된다.

 

내 기기에 현재 만들어져있는 데이터베이스들은 다음과 같다.

 

이 중 우리가 이번 실습에서 사용할 데이터베이스는 저번에 만들어준 opentutorials이다.

use opentutorials; 를 입력해준다.

 

 

데이터베이스가 잘 지정되었다.

 

이제 스프레드시트에서 본 데이터에 맞추어 테이블을 만들어주면 된다.

다음과 같이 만들어보겠다.

  • id - 정수, 최대 표시 사이즈(자리수) 11, 비어있으면 안 됨, 오름차순으로 자동 할당됨, Primary key
  • title - 문자열, 최대 사이즈(글자 수) 100, 비어있으면 안 됨
  • description - 긴 텍스트
  • created - 날짜와 시간, 비어있으면 안 됨
  • author - 문자열, 최대 사이즈 15
  • profile - 문자열, 최대 사이즈 200

이러한 내용을 SQL문으로 치환하면 아래와 같다.

 

CREATE TABLE topic(
	id INT(11) NOT NULL AUTO_INCREMENT,
	title VARCHAR(100) NOT NULL,
	description TEXT NULL,
	created DATETIME NOT NULL,
	author VARCHAR(15) NULL,
	profile VARCHAR(200) NULL,
	PRIMARY KEY (id)
	);

 

이 SQL문을 프롬프트에 입력해보자.

 

 

Query OK라는 문장이 표시된 것을 보아, 테이블이 잘 만들어졌다.

 

테이블 목록을 불러와 한 번 더 확인해보자.

 

topic이라는 테이블이 잘 만들어져있는 것이 보인다.

 

 

 

MySQL에서의 데이터타입

MySQL에서의 데이터타입은 평소 다른 개발 언어에서 접하던 것과 조금 다르다.

 

기본적으로, 존재하는 데이터타입의 종류 자체가 다르다.

 

다음으로는 괄호라는 것이 있다. 괄호 안에 숫자를 적음으로써 해당 데이터의 특성을 바꿀 수 있다.

예를 들어 INT(4) 형식의 데이터는, INT 범위만큼의 큰 수를 저장할 수는 있지만, display 즉 표시할 자리수는 4자리로 제한된다.

반면 글을 저장하는 TEXT와 같은 데이터타입에 (255)를 적으면, 실제 저장할 문자열의 최대 사이즈가 255글자로 제한된다.

이외에도 DECIMAL 등 다양한 경우가 있다.

 

데이터타입에 대해 궁금한 것이 생기면 다음의 공식 문서를 참고하자.

https://dev.mysql.com/doc/refman/8.0/en/data-types.html

 

MySQL :: MySQL 8.0 Reference Manual :: 11 Data Types

MySQL supports SQL data types in several categories: numeric types, date and time types, string (character and byte) types, spatial types, and the JSON data type. This chapter provides an overview and more detailed description of the properties of the type

dev.mysql.com

 

 

 

 

강의에서 준 꿀팁

1. Cheat Sheet

Cheat Sheet라는 것을 처음 보았다.

이것은 이름 그대로 컨닝 노트와 비슷한 것이다. 자주 쓰는 코드 형식을 그대로 적어둔 것을 내 입맛대로 조금만 변형하여 베낄 수 있는 문서이다.

본 강의에서 강사님은 MySQL cheat sheet를 구글에 검색해 활용하는 모습을 보여준다.

 

이렇게 좋은 게 있었다니...

 

나도 MySQL cheat sheet를 구글에 검색해보았다.

 

아래는 검색결과 최상단에 표시된 웹사이트이다.

정말 잘 되어있다.

 

앞으로는 코딩 기초 공부 중 헷갈리는 부분이 있을 때 cheat sheet를 잘 활용해보아야겠다.

 

 

2. 줄바꿈은 마음대로 해도 된다

깜빡하기 쉬운 사항이라 적어둔다.

MySQL 문에서, 단어 끝의 줄바꿈은 코드의 실행결과에 아무런 영향을 미치지 않는다.

 

각 명령문은 세미콜론(;)이 입력되기 전까지는 하나의 구문으로 취급된다.