Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 데이터베이스 존재 여부 확인하는 방법 완벽 가이드

MySQL에서 특정 데이터베이스가 존재하는지 확인하려면 schema_name 명령을 활용할 수 있습니다. 이 명령은 information_schema.schemata 테이블을 조회하여 원하는 데이터베이스가 서버에 등록되어 있는지 손쉽게 파악하게 해줍니다.

데이터베이스 존재 여부 확인 문법

기본적인 문법은 다음과 같습니다.

select schema_name from information_schema.schemata where schema_name = '데이터베이스 이름';

Case 1 — 데이터베이스가 존재하는 경우

'business'라는 데이터베이스가 있는지 확인하는 쿼리입니다.

mysql> select schema_name from information_schema.schemata where schema_name = 'business';

실행 결과는 다음과 같습니다.

+-------------+
| SCHEMA_NAME |
+-------------+
| business    |
+-------------+
1 row in set (0.00 sec)

결과에 데이터베이스 이름이 반환되었으므로 해당 데이터베이스가 존재한다는 것을 알 수 있습니다.

Case 2 — 데이터베이스가 존재하지 않는 경우

반대로 'sample2'라는 존재하지 않는 데이터베이스를 조회하면 어떻게 될까요?

mysql> select schema_name from information_schema.schemata where schema_name = 'sample2';
Empty set (0.00 sec)

결과가 비어 있으면(Empty set) 해당 데이터베이스가 존재하지 않음을 의미합니다.

SHOW DATABASES로 전체 데이터베이스 목록 확인하기

참고로 MySQL 서버에 현재 몇 개의 데이터베이스가 있는지 확인하려면 show 명령을 사용할 수 있습니다.

show databases;

실제 실행 예시와 결과입니다.

mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| business           |
| hello              |
| information_schema |
| mybusiness         |
| mysql              |
| performance_schema |
| sample             |
| sys                |
| test               |
+--------------------+
9 rows in set (0.00 sec)

USE 명령으로 특정 데이터베이스 선택하기

작업할 데이터베이스를 선택하려면 use 명령을 사용합니다.

mysql> use business;
Database changed

SHOW TABLES로 테이블 목록 확인하기

선택한 데이터베이스 내에 어떤 테이블들이 있는지도 show tables 명령으로 확인할 수 있습니다.

mysql> show tables;

실행 결과는 다음과 같습니다.

+----------------------+
| Tables_in_business   |
+----------------------+
| addcolumntable       |
| bookindexes          |
| chardemo             |
| demo                 |
| demoascii            |
| demobcrypt           |
| demoint              |
| demoschema           |
| duplicatebookindexes |
| existsrowdemo        |
| foreigntable         |
| groupdemo            |
| int1demo             |
| intdemo              |
| latandlangdemo       |
| modifycolumnnamedemo |
| modifydatatype       |
| moviecollection      |
| mytable              |
| nthrecorddemo        |
| nulldemo             |
| primarytable         |
| primarytable1        |
| smallintdemo         |
| student              |
| tblstudent           |
| tbluni               |
| textdemo             |
| texturl              |
| varchardemo          |
| varcharurl           |
+----------------------+
31 rows in set (0.00 sec)

DESC 명령으로 테이블 구조 살펴보기

특정 테이블의 구조(컬럼 정보)를 자세히 보고 싶다면 desc 명령을 사용합니다.

desc 테이블이름;

예를 들어 'modifydatatype' 테이블의 구조를 확인해 보겠습니다.

mysql> desc modifydatatype;

실행 결과는 다음과 같습니다.

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int(11)      | YES  |     | NULL    |       |
| YourName | varchar(100) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

정리

지금까지 MySQL에서 데이터베이스 존재 여부를 확인하는 방법부터 시작해, 전체 데이터베이스 목록 조회(show databases), 데이터베이스 선택(use), 테이블 목록 확인(show tables), 그리고 테이블 구조 분석(desc)까지 데이터베이스 작업에 필수적인 기본 명령어들을 살펴보았습니다. 이 명령들을 익혀두면 MySQL 데이터베이스를 훨씬 효율적으로 관리할 수 있습니다.