[MySQL] TABLE을 만드는 방법을 쉽게 알아보자!

2020-10-21


TABLE

모두 아래와 같은 MY SQL Command Line Client 가 설치가 됐다는 가정하에 만드는 법을 설명하도록 하겠다.

 


해당 프로그램을 실행해보면 위와같이 cmd 화면과 같은 창이 뜰 텐데, 자신이 노란색으로 표시된 사각형처럼 정해둔 password를 입력하면, "Welcome to the MySQL monitor.  Commands end with ; or \g. " 문구가 뜨며, 이는 정상적으로 프로그램 실행이 된 것이다.


이후 DATABASE를 만들어 주어야 하는데, 명령문은 아래와 같다. (DATABASE 이름은 아무거나 해도 상관없다.)

 

CREATE DATABASE test;

CREATE는 말그대로 생성한다는 의미를 가지고 있다. 뒤에 생성하고자 하는 X와 그 뒤 X의 이름을 적어주면 된다.

 

(필자는 잘못해서 ; 부호를 처음에 안적어 두줄이 되어버렸다... 항상 실행문 뒤에 ;를 적는 것을 까먹지 말자)

정상적으로 DATABASE가 만들어 지면 노란색 사각형처럼 "Query OK, 1 row affected (0.00 sec)" 문구가 뜰 것이다. 

 

이후 USE test; 문구를 통해 해당 데이터베이스를 사용하겠다고 선언한다. 이제 기초적인 셋팅은 끝이 났다. table을 만들어 보도록 하자.

 


예제

우선 위와 같은 예제로 진행을 하도록 하겠다. 속성은 NAME / SEX / OLD 총 세 가지로 하여 데이터를 입력받을 수 있도록 TABLE을 만들어 보도록 하겠다. 우선 아래가 그 코드이며, 설명은 주석으로 달아두었다.

 

 CREATE TABLE a ( 
 // a 라는 테이블을 생성한다.
 NAME VARCHAR(10) NOT NULL, 
 // NAME 속성은 문자 10글자 까지 입력되며, null값을 가질 수 없다.
 SEX VARCHAR(1),
 //SEX 속성은 문자 1글자 까지 입력된다.
 OLD INT(3) NULL, 
 // OLD는 정수 3글자로 입력하지 않아도 된다.
 PRIMARY KEY(name), 
 //기본키 값은 이름으로 정한다. (기본키값은 null값을 가질 수 없다.)
 CHECK(SEX = 'F' OR SEX = 'M'));
 // SEX 속성이 F 나 M 만 작성할 수 있도록 체크한다.

해당 CREATE문이 정상적으로 작동되며, 아래와 같은 문구가 뜬다. "Query OK, 0 rows affected (0.02 sec)"

 

(필자는 일렬로 코드를 썻지만 가독성을 생각한다면, 주석이 달린 코드처럼 한 줄씩 입력해도 결과는 변함없다.)

이제 정상적으로 잘 만들어 졌는지 확인해 보기 위해 show tables; 를 입력해 보자.

 

test라는 DATABASE에 정상적으로 a라는 table가 만들어진 것을 확인할 수 있다. 다음부터는 해당 테이블에 직접 데이터를 넣어보거나, 데이터를 추출하는 등 다양한 기능도 알아보도록 하자.