컴퓨터 공학 Computer Engineering/데이터베이스 Database

[MySQL] 데이터베이스 생성, 삭제, 사용 및 테이블 생성

킹남지 2021. 6. 26. 15:47
반응형

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;

 

 

반응형