데이터베이스와 테이블 생성하기

mariaDB에서 데이터베이스와 테이블을 생성하는 방법에 대해 살펴봅니다.


데이터베이스 생성

새로운 데이터베이스를 만드는 명령어는 다음과 같다.

1
CREATE DATABASE '데이터베이스 이름';

그러면 해당 요청(query)가 정상적으로 수행되었다고 아래와 같이 알려준다.

1
Query OK, 1 row affected (0.024 sec)

데이터베이스 접속

원하는 데이터베이스에 접속해야 해당 DB를 사용할 수 있다.

1
USE DATABASE '데이터베이스 이름';

테이블 생성

어떤 데이터베이스에 자료를 정리하여 넣으려고 한다. 그때 관계형 DB에서는 테이블을 사용하여 데이터를 저장한다. 테이블은 행과 열로 구성되어 있으며, 행(record)은 객체 하나의 모든 정보를 포함하고 열(field)은 데이터의 카테고리를 포함한다.

1
CREATE TABLE '테이블 이름'( '카테고리 1' VARCHAR(10), '카테고리 2' VARCHAR(6));

위 코드에서 VARCHAR은 'variable character'의 약자로 해당 카테고리의 데이터타입을 나타낸다. 뒤에 따라오는 (10), (6)과 같은 숫자는 해당 카테고리에서 저장할 수 있는 최대 길이를 설정한 것이다.

테이블 구조

생성한 테이블의 구조는 명령어 DESC를 사용하여 볼 수 있다.

1
DESC '테이블 이름';

테이블 목록

데이터베이스에 있는 테이블들의 목록은 해당 데이터베이스에서 SHOW TABLES를 입력하면 볼 수 있다.

1
SHOW TABLES;

테이블 삭제

테이블 전체를 삭제하는 명령어는 다음과 같다.

1
DROP '테이블 이름';

테이블에 데이터 추가

테이블에 데이터를 추가하는 것은 INSERT 명령어를 사용한다.

1
INSERT INTO '테이블 이름' VALUES ('값1', '값2');

워 코드는 해당 테이블의 모든 열에 대한 데이터를 순서에 맞게 추가할 때 사용할 수 있다. 특정 데이터를 추가하거나 순서를 변경하기 위해서는 카테고리 이름을 같이 입력해주어야 한다.

1
2
3
4
# 순서 변경
INSERT INTO '테이블 이름' ('카테고리 2', '카테고리 1') VALUES ('값2', '값1');
# 특정 카테고리만 데이터 추가
INSERT INTO '테이블 이름' ('카테고리 1') VALUES ('값1');

WARNING 값에 작은따옴표(')가 있는 경우
작은 따옴표는 SQL에서 문법으로 사용되기 때문에 값 안에 포함된 작은 따옴표와 구분해야 한다. 따라서 값 내부의 작은따옴표는 개행문자를 사용하여 표현한다. 예시는 다음과 같다.

1
2
3
INSERT INTO '테이블 이름'
VALUES
('Indian\'s Summer' , 'cherry juice', 2, 'pineapple juice', 7, 'serve over ice with straw');

테이블 데이터 확인

테이블에 데이터가 추가되었는지 확인하고 싶다면 아래의 코드를 사용하면 된다.

1
SELECT * FROM '테이블 이름';

위 코드에서 사용되는 *는 모든 데이터를 불러오라는 뜻이다.

NULL 처리

일부 카테고리에만 데이터를 입력하면 해당 행의 나머지 카테고리에는 자동적으로 NULL로 처리된다. 하지만 어떤 카테고리는 필수적으로 입력되어야 한다고 가정하자. 그렇게 하기 위해서는 테이블을 생성할 때 아래와 같이 입력하여 NULL을 받지 않도록 설정해야 한다.

1
CREATE TABLE '테이블 이름'( '카테고리 1' VARCHAR(10) NOT NULL, '카테고리 2' VARCHAR(6));

위 코드로 만들어진 테이블은 데이터를 추가할 때 카테고리 1이 무조건 채워져야 한다. 어떤 테이블의 카테고리들의 NULL 허용여부를 확인하고 싶다면 DESC를 사용하여 테이블 구조를 확인하면 된다.

디폴트값 설정

만약 기본 값이 주어진 열인 경우에는 테이블을 생성 시 디퐅트 값을 지정할 수 있다. 디폴트 값은 해당 카테고리에 데이터가 입력되지 않았을 시에 자동으로 적용된다.

1
CREATE TABLE '테이블 이름'( '카테고리 1' VARCHAR(10) DEFAULT 1, '카테고리 2' VARCHAR(6));

위 코드에서는 카테고리 1에 디폴트 값 1을 지정하였다.


데이터베이스와 테이블 생성하기
https://dev-bearabbit.github.io/ko/Sql/sql-0/
Author
Jess
Posted on
2020년 10월 10일
Licensed under