MySQL 기본 문법 - 데이터베이스만들기
1. MySQL의 기본 구조
MySQL에서 데이터는 전부 데이터 안에 위치한 테이블로 다룬다.
그래서 데이터 베이스와 테이블을 만들고 가장 기초이자 처음에 하는 작업이다.
MySQL에서 자료 구조를 보면 다음과 같다.

데이터 베이스별로 테이블을 여러 개 가질 수 있고 데이터는 각각의 테이블에 저장된다.
테이블은 기본적으로는 상하 구조가 아니라 수평적인 구조를 가지고 있지만, 데이터베이스에 종속된다.
그래서 MySQL에서 데이터를 다루기 위해선 가장 먼저 데이터베이스, 테이블을 만들어줘야 한다.
2. 데이터베이스와 테이블 만들기
아래는 데이터베이스와 테이블을 만드는 코드다.
CREATE DATABASE TestDb; -- 데이터 베이스 생성
USE TestDb; -- 데이터 베이스 선택
CREATE TABLE Student( -- 테이블 생성
Num INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
-- 숫자 / 정수형 / 자동 채움 / 고유키 / NULL 허용 안함
Name Varchar(5) NOT NULL,
-- 이름 / 스트링(5)자까지 / NULL 허용 안함
Age INT NOT NULL
-- 나이 / 정수형 / NULL 허용 안함
);
-- 테이블에 자료 삽입 / 테이블명(테이블 Column명) / Column명의 VALUES 값 / (Column의 VALUES에 들어갈 값)
INSERT INTO Student(Num, Name, Age) VALUES (NULL, "홍길동", 10);
INSERT INTO Student(Num, Name, Age) VALUES (NULL, "둘리", 12);
INSERT INTO Student(Num, Name, Age) VALUES (NULL, "고길동", 13);
INSERT INTO Student(Num, Name, Age) VALUES (NULL, "스벤슨", 10);
INSERT INTO Student(Num, Name, Age) VALUES (NULL, "김철수", 10);
SHOW DATABASES; -- 데이터베이스 보기
SHOW TABLES; -- 테이블 보기
데이터 베이스와 테이블을 만드는 명령어는 다음과 같다.
CREATE |
이때 CREATE 명령어를 사용하면 된다. 다만 TABLE의 경우 단독으로 만들 순 없고 한 개의 필드라도 만들어줘야 한다. |
USE |
|
INSERT INTO |
'INSERT INTO + 테이블명( 테이블의 필드명 ) + VALUES + (필드에 대한 Value값) |
SHOW |
|
3. 테이블을 만들 때
테이블을 만들 때 주의할 점이 있다.
테이블을 만드는 시점에 적어도 하나의 Column 즉 필드가 있어야 한다는 점이다.

위 코드처럼 작성하면 오른쪽같은 테이블이 만들어진다.
그리고 각 필드들은 테이블의 Column 즉 테이블의 열을 맡는다.
그리고 하나 더 필드를 입력해줄 때 들어가는 제약 사항(constraint)이란 것이 있다.
코드상에선 필드명 옆에 붙는 것들로 데이터베이스가 데이터를 받을 때 어떤 기준을 받을지 조건을 만드는 것이다.
제약사항의 종류는 다음과 같다.
NOT NULL |
|
UNIQUE |
|
PRIMARY KEY |
PRIMARY KEY를 입력하면 해당 필드열에서 중복되지 않는 값이 들어간다. |
FOREIGN KEY |
|
DEFAULT |
|
AUTO_INCREMENT |
|