SQL Create DB
SQL CREATE DATABASE: 새로운 데이터베이스 생성
SQL CREATE DATABASE 명령은 새로운 데이터베이스를 생성하는 데 사용됩니다. 이 명령을 실행하면, 해당 데이터베이스에 테이블, 뷰, 저장 프로시저 등을 추가할 수 있습니다. CREATE DATABASE는 SQL 데이터베이스 관리 시스템(DBMS)에서 데이터 관리의 첫 단계로, 데이터 저장을 위한 공간을 준비합니다.
1. 기본 CREATE DATABASE 문법
CREATE DATABASE 데이터베이스_이름;
- 데이터베이스_이름: 생성할 데이터베이스의 이름을 지정합니다. 데이터베이스 이름은 각 DBMS에서 고유해야 하며, 적절한 규칙에 따라 작성되어야 합니다.
2. CREATE DATABASE 예제
예제: 데이터베이스 생성
CREATE DATABASE company_db;
이 명령은 이름이 company_db인 새로운 데이터베이스를 생성합니다.
3. 데이터베이스 선택 (USE 명령)
새로운 데이터베이스를 생성한 후, 해당 데이터베이스에서 작업하려면 USE 명령을 사용하여 활성화해야 합니다.
예제: 데이터베이스 선택
USE company_db;
이 명령은 company_db 데이터베이스를 활성화하여, 이후의 SQL 작업들이 이 데이터베이스에서 이루어지도록 합니다.
4. 조건에 따른 데이터베이스 생성
일부 데이터베이스 시스템에서는 IF NOT EXISTS 조건을 사용하여 동일한 이름의 데이터베이스가 이미 존재하는 경우 중복 생성 오류를 방지할 수 있습니다.
예제: 데이터베이스가 없을 때만 생성
CREATE DATABASE IF NOT EXISTS company_db;
이 명령은 company_db 데이터베이스가 이미 존재하지 않는 경우에만 새로 생성합니다.
5. 데이터베이스 생성 시 속성 지정
데이터베이스를 생성할 때 **문자 세트(Character Set)**와 대조법(Collation) 같은 속성을 지정할 수 있습니다. 문자 세트는 데이터베이스에서 사용할 문자의 인코딩 방식을, 대조법은 문자열 비교 방식을 정의합니다.
5.1 문자 세트와 대조법 설정
- Character Set: 데이터가 저장될 때 사용할 문자 인코딩 방식 (예:
utf8mb4
,latin1
). - Collation: 문자열을 비교하는 방식 (예:
utf8mb4_unicode_ci
,latin1_swedish_ci
).
예제: 데이터베이스 생성 시 문자 세트와 대조법 지정
CREATE DATABASE company_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
이 명령은 UTF-8 문자 세트와 Unicode 대조법을 사용하는 데이터베이스 company_db를 생성합니다.
6. 데이터베이스 삭제 (DROP DATABASE)
생성한 데이터베이스를 더 이상 사용하지 않거나 삭제해야 할 때는 DROP DATABASE 명령을 사용할 수 있습니다. 이 명령은 데이터베이스와 그 안에 포함된 모든 데이터(테이블, 뷰, 저장 프로시저 등)를 영구적으로 삭제합니다.
예제: 데이터베이스 삭제
DROP DATABASE company_db;
이 명령은 company_db 데이터베이스와 그 안의 모든 데이터를 삭제합니다.
조건부 삭제: 데이터베이스가 존재할 때만 삭제
DROP DATABASE IF EXISTS company_db;
이 명령은 company_db가 존재하는 경우에만 데이터베이스를 삭제합니다. 데이터베이스가 존재하지 않으면 오류 없이 실행됩니다.
7. 데이터베이스 확인 (SHOW DATABASES)
현재 DBMS에 존재하는 모든 데이터베이스 목록을 확인하려면 SHOW DATABASES 명령을 사용할 수 있습니다.
예제: 데이터베이스 목록 확인
SHOW DATABASES;
이 명령은 현재 시스템에 존재하는 모든 데이터베이스의 목록을 반환합니다.
8. 실전 예제
예제 1: 데이터베이스 생성 후 사용
CREATE DATABASE sales_db;
USE sales_db;
이 명령은 sales_db라는 새로운 데이터베이스를 생성한 후, 해당 데이터베이스를 사용하도록 설정합니다.
예제 2: 문자 세트와 대조법이 지정된 데이터베이스 생성
CREATE DATABASE employee_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
이 명령은 UTF-8 문자 세트와 utf8mb4_general_ci 대조법을 사용하는 employee_db 데이터베이스를 생성합니다.
예제 3: 데이터베이스 존재 여부를 확인한 후 삭제
DROP DATABASE IF EXISTS old_db;
이 명령은 old_db 데이터베이스가 있을 경우에만 삭제합니다.
9. 요약
- CREATE DATABASE 명령은 새로운 데이터베이스를 생성하는 데 사용됩니다.
- 데이터베이스 생성 후에는 USE 명령으로 해당 데이터베이스를 활성화하여 작업할 수 있습니다.
- 데이터베이스 생성 시, 문자 세트와 대조법을 지정하여 데이터의 인코딩 방식을 정의할 수 있습니다.
- IF NOT EXISTS를 사용하면 데이터베이스가 없을 때만 생성하고, DROP DATABASE 명령으로 데이터베이스를 삭제할 수 있습니다.
- SHOW DATABASES 명령은 현재 데이터베이스 시스템에 존재하는 모든 데이터베이스 목록을 표시합니다.
SQL에서 데이터베이스 생성은 데이터를 저장하고 관리하기 위한 첫 단계이며, 다양한 데이터베이스 관련 작업을 수행하기 위한 기반을 제공합니다.