[Mysql] 데이터베이스 생성, 변경, 삭제(create, use, drop)

    MySQL 혹은 MariaDB를 설치하였다면, 제일 처음 해야 할 일은 작업을 해야 할 공간인 데이터베이스(Database)를 생성하는 것이다. 일반적으로 데이터베이스는 프로젝트 단위로 생성하는 것이 일반적이지만, 프로젝트들이 서로 연결이 되는 경우 하나의 거대한 데이터베이스를 사용하기도 한다.

     

    데이터베이스가 서로 다를 경우, 즉 다른 데이터베이스에 있는 테이블들은 같이 사용할 수 없기(편법이 있긴 하지만) 때문에 즉 같이 써야 하는 테이블들은 한 데이터베이스에 뭉쳐놔야 한다는 점을 잊지 말도록 한다.

     

    MySQL Client 접속

    그림 1. MySQL Client

     

    MySQL로 검색을 하든지 설치한 앱을 찾아서 직접 실행을 하든지 그림 1.의 MySQL Client를 클릭한다.

     

    그림 2. MySQL Client 접속 화면

     

    Root 비번을 입력하면, 그림 2와 같이 명령어들을 실행할 수 있는 창으로 접속이 된다.

     

    데이터베이스 관련 SQL 명령어

    데이터베이스 리스트 보기

    show databases;

    현재 MySQL에 있는 데이터베이스들을 보여준다. 참고로 SQL 내부에서 모든 명령어는 세미콜론(;)으로 끝나야 한다.

     

    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.000 sec)

     

    위에 있는 4개의 데이터베이스들은 설치 시 기본적으로 존재하는 데이터베이스이다. 우선 연습삼아 mysql이라는 데이터베이스를 사용해보도록 한다.

     

    데이터 베이스 사용

    use [데이터베이스명];

     

    mysql 이라는 데이터베이스를 사용하고 싶을 경우 use mysql; 을 입력한 후 실행한다.

    MariaDB [(none)]> use mysql;
    Database changed

    그러면 Database changed라는 말이 뜨게 되는데 이 말이 뜨면 정상적으로 database를 변경했다는 것이다. 

     

    현재 데이터베이스안에 어떠한 테이블들이 있는지 확인하기 위해서 아래와 같이 show tables;를 해보았다.

     

    MariaDB [mysql]> show tables;
    +---------------------------+
    | Tables_in_mysql           |
    +---------------------------+
    | column_stats              |
    | columns_priv              |
    | db                        |
    | event                     |
    | func                      |
    | general_log               |
    | global_priv               |
    | gtid_slave_pos            |
    | help_category             |
    | help_keyword              |
    | help_relation             |
    | help_topic                |
    | index_stats               |
    | innodb_index_stats        |
    | innodb_table_stats        |
    | plugin                    |
    | proc                      |
    | procs_priv                |
    | proxies_priv              |
    | roles_mapping             |
    | servers                   |
    | slow_log                  |
    | table_stats               |
    | tables_priv               |
    | time_zone                 |
    | time_zone_leap_second     |
    | time_zone_name            |
    | time_zone_transition      |
    | time_zone_transition_type |
    | transaction_registry      |
    | user                      |
    +---------------------------+
    31 rows in set (0.001 sec)
    
    MariaDB [mysql]>

     

    show tables를 하니 다양한 테이블들을 확인할 수 있다. 이제 본격적으로 내가 앞으로 사용해볼 테이블을 생성해보도록 한다.

     

     

    데이터베이스 생성

    create database [데이터베이스명];

    create database 이후 원하는 데이터베이스명을 입력한 후 엔터를 누르면, 아래와 같이 테이블을 쉽게 생성한다.

     

    MariaDB [mysql]> create database my_play_ground;
    Query OK, 1 row affected (0.001 sec)

    my_play_ground라는 데이터베이스명으로 만들어 봤으며, 결과는 0.001 sec만에 처리가 되었다.

     

    데이터베이스는 물리적인 위치에 저장이 되기에 내 하드디스크에서 쉽게 확인할 수 있다.

     

    데이터베이스 위치 확인

    show variables like 'datadir';

    show variables는 mysql의 다양한 변수들을 확인할 수 있으며, datadir은 데이터베이스가 물리적으로 생성된 위치를 나타낸다. 위 내용은 mysql의 다양한 변수들 중 datadir이라는 변수를 보여줘라하는 말과 같다.

     

    MariaDB [my_play_ground]> show variables like 'datadir';
    +---------------+-------------------------------------+
    | Variable_name | Value                               |
    +---------------+-------------------------------------+
    | datadir       | C:\Program Files\MariaDB 10.6\data\ |
    +---------------+-------------------------------------+
    1 row in set (0.001 sec)

     

    결과를 보면, MariaDB가 설치된 폴더 하위에 data라는 폴더가 있는 것을 알 수 있다. 해당 폴더로 확인을 해보면

     

    그림 3. my_play_ground라는 폴더가 존재한다.

     

    그림 3에서 처럼 물리적으로 폴더가 생성된 것을 확인할 수 있다.

     

    데이터베이스 삭제

    drop database [데이터베이스 명];

    데이터베이스를 삭제하기 위해서는 drop이라는 명령어를 사용하면 된다.

     

    MariaDB [my_play_ground]> drop database my_play_ground;
    Query OK, 0 rows affected (0.006 sec)
    MariaDB [(none)]>

    현재 생성한 my_play_ground를 삭제해보았으며, MariaDB [my_play_ground] 에서 MariaDB [(non)]으로 바뀐 것을 확인할 수 있다.

     

    그림 4. 사라진 데이터베이스

     

    마찬가지로 물리적인 위치를 가서보면 그림 4.처럼 데이터베이스가 삭제가 된 것을 확인할 수 있다.

     

     

    반응형

    댓글

    Designed by JB FACTORY