데이터베이스 만들고 사용하기

데이터베이스 만들고 사용하기

실전에서 테이블을 만들기 전에, 먼저 데이터를 담을 "데이터베이스"라는 상자가 필요해요. MySQL 튜토리얼은 이 과정을 아주 자연스럽게 안내해 주는데요. 데이터베이스를 만들고 선택한 뒤 테이블을 만들고, 데이터를 넣고, 다시 꺼내 읽는 흐름까지 한 번에 익힐 수 있어요. 이 글에서는 그 흐름의 뼈대를 따라가 볼게요.

출처: https://dev.mysql.com/doc/refman/8.4/en/database-use.html

데이터베이스 만들고 선택하기

CREATE DATABASE로 데이터베이스를 만들고, USE로 작업 대상으로 선택해요.

CREATE DATABASE menagerie;
USE menagerie;

CREATE DATABASE 문장은 실제로는 선택 사항이에요. 이미 서버에 데이터베이스가 있고 그 데이터베이스에 접근 권한이 있다면, USE만으로 바로 들어갈 수 있어요. 데이터베이스는 하나의 단위로 관리되기 때문에, SHOW DATABASES;를 실행하면 서버에 존재하는 데이터베이스 목록을 볼 수 있어요.

데이터베이스가 비어 있는지 확인하려면 SHOW TABLES;를 실행하면 되는데, 막 만든 데이터베이스라면 "Empty set"이라는 결과가 나올 거예요.

테이블 만들기

데이터를 저장할 테이블을 CREATE TABLE로 정의해요. USE로 선택한 데이터베이스 안에 테이블이 만들어져요.

CREATE TABLE pet (
    name    VARCHAR(20),
    owner   VARCHAR(20),
    species VARCHAR(20),
    sex     CHAR(1),
    birth   DATE,
    death   DATE
);

VARCHAR는 가변 길이 문자열, DATE는 날짜를 뜻하는 데이터 타입이에요. 어떤 과정을 거쳐도 같은 테이블을 만들 수 있도록, CREATE TABLE 문장을 파일에 저장해 두고 다시 실행해도 동일한 구조가 만들어져요.

데이터 넣기

테이블에 데이터를 넣는 방법에는 두 가지가 있어요. 첫째는 INSERT 문장으로 한 행씩 넣는 방법이에요.

INSERT INTO pet
    VALUES ('Puffball', 'Diane', 'hamster', 'f', '1999-03-30', NULL);

VARCHARDATE 값은 따옴표로 감싸서 넣고, 값이 없는 항목은 NULL로 표시해요. 이 예시에서는 death 컬럼에 아직 값이 없으니 NULL을 넣었죠.

두 번째 방법은 텍스트 파일에 데이터를 정리해 두고 LOAD DATA 문장으로 한꺼번에 불러오는 거예요.

데이터 읽어오기

저장한 데이터를 다시 꺼낼 때는 SELECT를 써요. 아래는 데이터를 방금 넣었는지 확인하는 기본 예시예요.

SELECT * FROM pet;

조회 결과 확인이 끝나면 필요에 따라 조건(WHERE), 정렬(ORDER BY) 등을 덧붙여 원하는 데이터만 골라낼 수 있어요.

더 알아보기

  • 테이블 만들기: Section 5.3.2, "Creating a Table"
  • 데이터 불러오기: Section 5.3.3, "Loading Data into a Table"
  • 데이터 읽어오기: Section 5.3.4, "Retrieving Information from a Table"
  • 사용 중인 데이터베이스·테이블 정보 확인: Section 5.4, "Getting Information About Databases and Tables"