MySQL에서 USE 명령어는 작업을 수행할 데이터베이스를 선택하는 데 사용됩니다. MySQL 서버에 여러 데이터베이스가 있을 경우, 특정 데이터베이스를 활성화해야 해당 데이터베이스 안의 테이블, 뷰, 프로시저 등에 접근할 수 있습니다.
USE 명령어란?
USE는 MySQL에서 현재 활성화된 데이터베이스를 설정하는 명령어입니다. 이는 데이터베이스를 선택하여 이후의 모든 SQL 작업이 해당 데이터베이스를 기본으로 사용하도록 합니다.
기본 문법
USE 데이터베이스명;
이 명령어를 실행하면 이후 실행되는 모든 쿼리는 선택된 데이터베이스에서 수행됩니다.
USE 명령어의 특징
- 단순한 데이터베이스 선택
한 번 명령을 실행하면, 같은 연결 내에서는 계속 해당 데이터베이스가 활성화됩니다. - 데이터베이스 전환 용이
여러 데이터베이스 간 작업을 전환할 때 편리합니다. - SQL 쿼리의 간소화
특정 데이터베이스를 선택하면 쿼리에서 데이터베이스명을 명시하지 않아도 됩니다.
USE 명령어의 기본 사용법
예제 1: 데이터베이스 선택
USE school_database;
위 명령을 실행하면 school_database가 활성화되며, 이후 모든 작업은 해당 데이터베이스에서 수행됩니다.
예제 2: 데이터베이스 선택 후 테이블 조회
USE shop_database;
-- products 테이블의 데이터를 조회
SELECT * FROM products;
USE 명령어 활용 사례
1. 여러 데이터베이스 간 전환
MySQL에서는 데이터베이스 이름을 접두사로 사용하여 작업할 수도 있지만, USE 명령어를 사용하면 쿼리를 더 간결하게 작성할 수 있습니다.
-- sales 데이터베이스 선택
USE sales;
-- 고객 테이블에서 데이터 조회
SELECT * FROM customers;
-- orders 데이터베이스 선택
USE orders;
-- 주문 테이블에서 데이터 조회
SELECT * FROM order_history;
2. 개발 환경에서의 활용
개발 환경에서 다양한 데이터베이스를 테스트해야 할 경우, USE 명령어는 각 데이터베이스로 쉽게 전환할 수 있도록 도와줍니다.
-- 개발용 데이터베이스 선택
USE dev_database;
-- 프로덕션 데이터베이스 선택
USE prod_database;
USE 명령어와 데이터베이스 선택
현재 활성화된 데이터베이스 확인
MySQL에서 SELECT DATABASE() 명령어를 사용하여 현재 활성화된 데이터베이스를 확인할 수 있습니다.
USE hr_database;
-- 현재 활성화된 데이터베이스 확인
SELECT DATABASE();
위 쿼리를 실행하면 hr_database가 출력됩니다.
USE 명령어와 연결된 쿼리
USE library_database;
-- books 테이블에서 특정 데이터를 조회
SELECT * FROM books WHERE author = 'Han Kang';
이 명령은 library_database가 활성화된 상태에서 실행되며, books 테이블은 해당 데이터베이스 내에 있어야 합니다.
USE 명령어 실행 시 주의사항
1. 데이터베이스가 존재하지 않을 경우 선택하려는 데이터베이스가 존재하지 않으면 오류가 발생합니다.
USE nonexistent_database;
-- Error: Unknown database 'nonexistent_database'
2. 사용자 권한 특정 데이터베이스를 선택하려면 해당 데이터베이스에 접근할 수 있는 권한이 필요합니다.
3. 연결별 설정 USE 명령어는 연결별로 설정되므로, 새로운 연결을 생성하면 기본 데이터베이스가 설정되지 않은 상태가 됩니다.
4. 명령어 실행 후 확인 데이터베이스가 올바르게 선택되었는지 확인하려면 **SELECT DATABASE()**를 사용하세요.
USE와 관련된 추가 명령어
1. SHOW DATABASES
MySQL 서버에 존재하는 모든 데이터베이스를 확인하려면 SHOW DATABASES 명령어를 사용할 수 있습니다.
SHOW DATABASES;
2. 데이터베이스 생성 후 선택
새로운 데이터베이스를 생성하고 즉시 선택할 수 있습니다.
CREATE DATABASE test_database;
USE test_database;
3. 데이터베이스 간 테이블 비교
USE db1;
SELECT * FROM db1.table_name;
USE db2;
SELECT * FROM db2.table_name;
USE 명령어를 활용한 실습
예제 3: 데이터베이스에서 사용자 관리
USE user_management;
-- user 테이블에서 사용자 목록 조회
SELECT * FROM user;
-- 특정 사용자의 권한 변경
UPDATE user SET role = 'admin' WHERE username = '홍길동';
예제 4: 여러 데이터베이스 간 데이터 이동
USE source_database;
-- 데이터 추출
SELECT * FROM data_table WHERE category = 'active';
-- 대상 데이터베이스로 전환
USE target_database;
-- 데이터 삽입
INSERT INTO data_table (id, name, category) VALUES (1, 'Test Data', 'active');
USE 명령어를 잘 활용하는 팁
- 데이터베이스 명명 규칙 준수
직관적인 이름을 사용하여 혼란을 줄입니다. - SELECT DATABASE() 활용
현재 선택된 데이터베이스를 수시로 확인해 올바른 데이터베이스에서 작업하고 있는지 확인하세요. - 명령어와 권한 확인
데이터베이스 접근 권한을 사전에 확인하여 불필요한 오류를 방지하세요.
참고
MySQL 공식 문서: https://dev.mysql.com/doc/refman/8.0/en/
'DB' 카테고리의 다른 글
[MySQL] DROP IF EXISTS 완벽 가이드 사용법(객체 삭제) (0) | 2025.01.05 |
---|---|
[MySQL] CREATE OR REPLACE 완벽 가이드 사용법(객체 생성/수정) (1) | 2024.12.26 |
[MySQL] DESCRIBE(DESC)완벽 가이드 사용법(테이블 구조 확인) (0) | 2024.12.26 |
[MySQL] SHOW 완벽 가이드 사용법(데이터베이스 정보 확인) (1) | 2024.12.25 |
[MySQL] RENAME 완벽 가이드 사용법(테이블명 변경) (0) | 2024.12.23 |
[MySQL] TRUNCATE 완벽 가이드 사용법(테이블의 모든 데이터 삭제) (0) | 2024.12.23 |
[MySQL] DROP 완벽 가이드 사용법(데이터베이스와 객체 삭제) (0) | 2024.12.22 |
[MySQL] ALTER 완벽 가이드 사용법(테이블 수정) (0) | 2024.12.19 |