MySQL을 사용해 데이터베이스의 생성, 삭제, 사용 그리고 테이블의 생성까지 해보겠습니다.
데이터베이스 생성
가장 먼저 알아볼 내용은 데이터베이스의 생성입니다.
CREATE DATABASE db_name; 를 입력하면 db_name이라는 이름으로 데이터베이스가 생성됩니다.
데이터베이스 삭제
데이터베이스의 생성을 알았으니 삭제 또한 바로 알아보겠습니다.
CREATE DROP db_name; 를 입력하면 db_name이라는 이름의 데이터베이스를 삭제할 수 있습니다.
저는 tutorials라는 이름의 데이터베이스를 생성하고 삭제해보겠습니다.
(만약 tutorials라는 데이터베이스가 있는데 CREATE DATABASE tutorials;를 입력 시 에러가 나고 반대로 없는 데이터베이스를 DROP DATABASE를 통해 삭제하려고 해도 에러가 발생합니다.)
데이터베이스 확인
이번에는 데이터베이스가 잘 생성됐는지 목록을 한번 확인해보겠습니다.
SHOW DATABASES; 를 입력하면 데이터베이스의 목록을 확인할 수 있습니다.
tutorials 데이터베이스를 삭제했으니, 다시 만들어주고 SHOW DATABASES;를 입력해보겠습니다.
가장 아래에 tutorials가 보이네요. 생성한 tutorials 외에 다른 데이터베이스들도 보입니다. 생성하지 않았는데 존재하는 이런 데이터베이스들은 MySQL 시스템 내부에서 사용하는 데이터베이스입니다.
데이터베이스 사용
데이터베이스가 잘 생성됐는지 여부를 확인했으니 사용을 해보겠습니다.
USE db_name; 을 입력하면 db_name이라는 데이터베이스를 사용할 수 있습니다.
Database changed라는 문구와 함께 이제 tutorials 데이터베이스를 사용 가능함을 알 수 있습니다.
테이블 생성
데이터베이스 내에 테이블을 생성해보겠습니다.
CREATE TABLE table_name(
column_name1 INT(11) NOT NULL AUTO_INCREMENT,
column_name2 VARCHAR(100) NOT NULL,
column_name3 TEXT NULL,
column_name4 DATATIME NOT NULL,
column_name5 VARCHAR(30) NULL,
column_name6 VARCHAR(100) NULL,
PRIMARY KEY(column_name1)
);
이런 형식으로 테이블을 만들 수 있고, 열(column)에 원하는 특성에 따라, 각 column_name에 해당하는 입력은 달라질 수 있습니다. 예시로 한번 만들어보고 어떤 의미인지 확인해보겠습니다.
저는 제 이름의 스펠링을 따 njh라는 테이블을 만들었습니다.
(-> 표시로 다음 줄로 넘어가려면 Enter키를 누르시면 됩니다.)
CREATE TABLE 내의 문장이 각각 어떤 의미인지 보겠습니다.
(id INT(11) NOT NULL AUTO_INCREMENT) id라는 이름의 열에는 반드시 데이터가 정수로 들어오도록 설정. + NOT NULL을 통해 값이 없는 것을 허용하지 않음 + AUTO_INCREMENT를 통해 자동으로 1씩 증가하게 만들어 주면서 중복되지 않는 식별자를 갖도록 만든다.
(title VARCHAR(100) NOT NULL) title라는 이름의 열에는 데이터가 100 글자까지만 들어오도록 설정. + NOT NULL을 통해 값이 없는 것을 허용하지 않음.
(description TEXT NULL) description라는 이름의 열에는 데이터가 65,535글자까지 입력할 수 있도록 설정. + NULL을 통해 값이 없는 경우도 허용
(created DATATIME NOT NULL) created라는 이름의 열에는 데이터가 연-월-일-시간의 형식으로 들어오도록 설정 + NOT NULL을 통해 값이 없는 것을 허용하지 않음.
(author VARCHAR(30) NULL) author라는 이름의 열에는 데이터가 30 글자까지만 들어오도록 설정. + NULL을 통해 값이 없는 경우도 허용.
(profile VARCHAR(100) NULL) profile라는 이름의 열에는 데이터가 100 글자까지만 들어오도록 설정. + NULL을 통해 값이 없는 경우도 허용.
PRIMARY KEY(column_name1) column_name1의 열을 main key로 지정
테이블 구조 확인
테이블을 만들었으니 구조를 확인해보겠습니다.
DESCRIBE table_name; 을 입력하면 table_name이라는 이름의 테이블의 구조를 확인할 수 있습니다.
지금까지 데이터베이스의 생성, 삭제, 확인 사용 및 테이블의 생성, 확인을 알아봤습니다.
아래에 작게 다시 정리해놓겠습니다.
읽어주셔서 감사합니다 ^^
1. 데이터베이스 생성 CREATE DATABASE db_name;
2. 데이터베이스 삭제 CREATE DROP db_name;
3. 데이터베이스 확인 SHOW DATABASES;
4. 데이터베이스 사용 USE db_name;
5. 테이블 생성 (컬럼의 데이터 타입을 설정 !! 아주 중요)
CREATE TABLE table_name(
column_name1 INT(11) NOT NULL AUTO_INCREMENT,
column_name2 VARCHAR(100) NOT NULL,
column_name3 TEXT NULL,
column_name4 DATATIME NOT NULL,
column_name5 VARCHAR(30) NULL,
column_name6 VARCHAR(100) NULL,
PRIMARY KEY(column_name1)
);
(column_name1 INT(11) NOT NULL AUTO_INCREMENT) column_name1의 열에는 반드시 데이터가 정수로 들어오도록 설정. + NOT NULL을 통해 값이 없는 것을 허용하지 않음 + AUTO_INCREMENT를 통해 자동으로 1씩 증가하게 만들어 주면서 중복되지 않는 식별자를 갖도록 만든다.
(column_name2 VARCHAR(100) NOT NULL) column_name2의 열에는 데이터가 100 글자까지만 들어오도록 설정. + NOT NULL을 통해 값이 없는 것을 허용하지 않음.
(column_name3 TEXT NULL) column_name3의 열에는 데이터가 65,535글자까지 입력할 수 있도록 설정. + NULL을 통해 값이 없는 경우도 허용
(column_name4 DATATIME NOT NULL) column_name4의 열에는 데이터가 연-월-일-시간의 형식으로 들어오도록 설정 + NOT NULL을 통해 값이 없는 것을 허용하지 않음.
(column_name5 VARCHAR(30) NULL) column_name5의 열에는 데이터가 30 글자까지만 들어오도록 설정. + NULL을 통해 값이 없는 경우도 허용.
(column_name6 VARCHAR(100) NULL) column_name6의 열에는 데이터가 100 글자까지만 들어오도록 설정. + NULL을 통해 값이 없는 경우도 허용.
PRIMARY KEY(column_name1) column_name1의 열을 main key로 지정
6. 테이블 구조 확인 DESCRIBE table_name;
'컴퓨터 공학 Computer Engineering > 데이터베이스 Database' 카테고리의 다른 글
데이터베이스의 개념적 구성 (개체, 속성, 관계) (0) | 2021.09.09 |
---|---|
데이터베이스 정의, 특징 (0) | 2021.09.09 |
[MySQL] INSERT, SELECT, UPDATE, DELETE 정리 (0) | 2021.06.30 |
[MySQL] 윈도우 환경에서 Bitnami를 활용해 MySQL 설치하기 (0) | 2021.06.25 |
MySQL 입문 전, 데이터베이스(DB)에 대해서 알아보자 (0) | 2021.06.18 |