SQL - 데이터베이스 보이기: 초보자 가이드

안녕하세요, 데이터베이스에 대한 열정을 가진 여러분! 오늘 우리는 SQL의 세계로 흥미로운 여정을 떠납니다. 특히 데이터베이스를 보이거나 목록으로 나열하는 방법에 대해 집중적으로 배우겠습니다. 코드를 한 줄도 작성해 본 적이 없더라도 걱정 마세요. 저는 여러분의 친절한 안내자가 되겠습니다. 단계별로 차근차근 설명하겠습니다. 그럼 커피 한 잔을 들고, 함께 빠져보겠습니다!

SQL - Show Databases

데이터베이스란 무엇인가요?

데이터베이스를 보이기 전에 잠시 데이터베이스가 무엇인지 이해해 보겠습니다. 디지털 파일 캐비닛을 상상해 보세요. 여기서 정보를 저장하고 정리하고 검색할 수 있습니다. 바로 그게 데이터베이스입니다! 컴퓨터 세계에서 우리는 다양한 데이터를 추적하기 위해 데이터베이스를 사용합니다. 여러분이 좋아하는 온라인 쇼핑 사이트의 재고에서부터 소셜 미디어 게시물까지입니다.

데이터베이스를 보이는 이유는 무엇인가요?

이제 여러분은 "왜 데이터베이스를 보여야 하나요?"라는 의문을 가질 수도 있습니다. 시내 여러 도서관을 관리하는 도서관사를 상상해 보세요. 도서관의 목록을 가지고 있으면 도움이 되지 않을까요? SQL에서 데이터베이스를 보이는 것은 exactamente 그와 같은 일입니다. 우리에게 접근할 수 있는 모든 데이터베이스의 개요를 제공합니다.

SQL을 사용하여 데이터베이스 목록 나열하기

SQL에서 데이터베이스를 목록으로 나열하거나 보이는 방법은 여러 가지가 있습니다. 하나씩 탐구해 보겠습니다.

SHOW DATABASES 문

가장 간단한 방법은 SHOW DATABASES 문을 사용하는 것입니다. SQL에 "우리가 가지고 있는 모든 데이터베이스를 보여줘"라고 물어보는 것과 같습니다.

SHOW DATABASES;

이 명령어를 실행하면, 접근할 수 있는 모든 데이터베이스의 목록을 반환합니다. 다음과 같은 형식으로 나타날 수 있습니다:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_first_database  |
+--------------------+

이 결과의 각 행은 데이터베이스를 나타냅니다. 'information_schema', 'mysql', 'performance_schema', 'sys'와 같은 것은 MySQL에 포함된 시스템 데이터베이스입니다. 자신이 생성한 데이터베이스(예: 'my_first_database')도 이 목록에 나타납니다.

SHOW SCHEMAS 문

알고 계신가요? SQL에서 '스키마'는 '데이터베이스'의 다른 단어입니다. 그래서 SHOW SCHEMAS 문을 사용하여 동일한 작업을 수행할 수 있습니다.

SHOW SCHEMAS;

이 문은 SHOW DATABASES와 정확히 같은 결과를 제공합니다. 식당에서 메뉴를 요청하는 것과 같습니다. "메뉴를 볼 수 있나요?" 또는 "메뉴 목록을 볼 수 있나요?"라고 물어도 같은 결과를 얻습니다!

SELECT...FROM 문

SQL을 더 잘 다루고 싶은 사람들을 위해 또 다른 방법이 있습니다. SELECT 문을 사용하여 데이터베이스를 목록으로 나열하는 방법입니다. 이 방법은 INFORMATION_SCHEMA를 쿼리하는 것을 포함합니다. INFORMATION_SCHEMA는 다른 모든 데이터베이스에 대한 정보를 저장하는 데이터베이스입니다.

SELECT SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;

이 쿼리는 "INFORMATION_SCHEMA의 SCHEMATA 테이블에서 모든 스키마(데이터베이스)의 이름을 선택해 주세요"라는 의미입니다. 결과는 SHOW DATABASES와 유사하지만 약간 다른 형식으로 나타납니다:

+--------------------+
| SCHEMA_NAME        |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_first_database  |
+--------------------+

EXEC sp_databases 문 (SQL Server)

Microsoft SQL Server를 사용하는 경우 다른 옵션도 있습니다: EXEC sp_databases 문입니다. 이는 도움을 주는 로봇이 미리 작성된 프로그램을 실행하여 데이터베이스 목록을 가져오는 것과 같습니다.

EXEC sp_databases;

이 명령어는 각 데이터베이스에 대한 추가 정보를 포함한 결과 세트를 반환합니다:

+--------------------+--------------+-------------------+
| DATABASE_NAME      | DATABASE_SIZE| REMARKS           |
+--------------------+--------------+-------------------+
| master             | 6392         | NULL              |
| tempdb             | 16384        | NULL              |
| model              | 16384        | NULL              |
| msdb               | 15928        | NULL              |
| my_first_database  | 8192         | NULL              |
+--------------------+--------------+-------------------+

여기서는 데이터베이스 이름뿐만 아니라 크기와 비고(보통 NULL)도 볼 수 있습니다.

방법 비교

이 방법들을 요약한 표를 제공하겠습니다:

방법 문법 데이터베이스 시스템 사용 용이성 추가 정보
SHOW DATABASES SHOW DATABASES; MySQL, MariaDB 매우 쉬움 없음
SHOW SCHEMAS SHOW SCHEMAS; MySQL, MariaDB 매우 쉬움 없음
SELECT...FROM SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA; MySQL, MariaDB, PostgreSQL 중간 사용자 정의 가능
EXEC sp_databases EXEC sp_databases; SQL Server 쉬움 크기와 비고

결론

여러분, 이제 SQL에서 데이터베이스를 보이거나 목록으로 나열하는 네 가지 다른 방법을 탐구했습니다. SHOW DATABASES의 간단함, SELECT 문의 유연성, 그리고 EXEC sp_databases의 추가 정보를 선호하시든, 데이터베이스 풍경을鸟瞰할 수 있는 도구를 가지셨습니다.

데이터베이스 목록을 가지고 있는 것은 데이터 세계의 지도를 가지고 있는 것과 같습니다. 새로운 시스템에서 작업하거나 복잡한 데이터베이스 환경에서 방향을 잃지 않도록 하는 첫 번째 단계입니다.

계속 연습하고, 호기심을 유지하며, 두려워하지 말고 실험해 보세요. 언제쯤 SQL을 프로처럼 쿼리하는 법을 배우게 될 것입니다! 다음 시간까지, 행복하게 코딩하세요!

Credits: Image by storyset