13.1.10 CREATE DATABASE 구문
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
db_name
[create_specification
] ...create_specification
: [DEFAULT] CHARACTER SET [=]charset_name
| [DEFAULT] COLLATE [=]collation_name
CREATE DATABASE
는 지정된 이름을 가진 데이터베이스를 만듭니다. 이 문을 사용하려면이 데이터베이스에 대한 CREATE
권한이 있어야합니다. CREATE SCHEMA
는 CREATE DATABASE
의 동의어입니다.
데이터베이스가 존재하면 IF NOT EXISTS
를 지정하지 않으면 오류가 발생합니다.
MySQL 5.6에서는 활성 LOCK TABLES
문이 존재하는 세션에서 CREATE DATABASE
가 허용되지 않습니다.
create_specification
옵션은 데이터베이스의 특성을 지정합니다. 데이터베이스의 특성은 데이터베이스 디렉토리의 db.opt
파일에 저장됩니다. CHARACTER SET
절은 기본 데이터베이스 문자 집합을 지정합니다. COLLATE
절은 기본 데이터베이스 데이터 정렬을 지정합니다. 섹션 10.1 "문자 집합 지원" 는 문자 셋과 콜레 션 이름에 대해 설명하고 있습니다.
MySQL의 데이터베이스는 데이터베이스의 테이블에 해당하는 파일이 포함 된 디렉토리로 구현됩니다. 데이터베이스가 처음 생성되었을 때 그 안에 테이블이 존재하지 않기 때문에 CREATE DATABASE
문은 MySQL 데이터 디렉토리 아래의 디렉토리와 db.opt
파일 만 만듭니다. 허용되는 데이터베이스 이름 규칙은 섹션 9.2 "스키마 객체 이름" 으로 표시되어 있습니다. 데이터베이스 이름에 특수 문자가 포함 된 경우 섹션 9.2.3 "식별자와 파일 이름 매핑" 에 설명 된대로 해당 문자의 인코딩 된 버전이 데이터베이스 디렉토리의 이름에 포함됩니다.
데이터 디렉토리 아래에 (예를 들어, mkdir에서) 디렉토리를 수동으로 작성하면 서버는 그것을 데이터베이스 디렉토리로 간주, SHOW DATABASES
의 출력에 표시합니다.
mysqladmin 프로그램을 사용하여 데이터베이스를 만들 수 있습니다. 섹션 4.5.2 "mysqladmin - MySQL 서버를 관리하는 클라이언트" 를 참조하십시오.