13.1.11 CREATE DATABASE Statement
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name}
CREATE DATABASE
cria uma base de dados com o nome dado. Para usar esta declaração, você precisa do privilégio CREATE
para a base de dados. CREATE SCHEMA
é um sinónimo de CREATE DATABASE
.
ocorre um erro se a base de dados existe e você não especificou IF NOT EXISTS
.
CREATE DATABASE
não é permitido dentro de uma sessão que tenha uma declaração LOCK TABLES
activa.
Cada create_option
especifica uma característica do banco de dados. As características do banco de dados são armazenadas no arquivo db.opt
no diretório do banco de dados. A opção CHARACTER SET
especifica o conjunto de caracteres padrão da base de dados. A opção COLLATE
especifica o agrupamento padrão da base de dados. Para obter informações sobre o conjunto de caracteres e nomes do agrupamento, consulte o Capítulo 10, Conjuntos de Caracteres, Agrupamentos, Unicode.
Para ver os conjuntos de caracteres e agrupamentos disponíveis, use as instruções SHOW CHARACTER SET
e SHOW COLLATION
, respectivamente. Veja Seção 13.7.5.3, “Declaração SHOW CHARACTER SET”, e Seção 13.7.5.4, “Declaração SHOW COLLATION”.
Uma base de dados no MySQL é implementada como um directório contendo ficheiros que correspondem a tabelas na base de dados. Como não existem tabelas numa base de dados quando esta é inicialmente criada, a instrução CREATE DATABASE
cria apenas um directório sob o directório de dados MySQL e o ficheiro db.opt
. As regras para os nomes permitidos para a base de dados são dadas na Secção 9.2, “Nomes de objectos do esquema”. Se um nome de base de dados contém caracteres especiais, o nome para o diretório da base de dados contém versões codificadas desses caracteres como descrito na Seção 9.2.4, “Mapeamento de identificadores para nomes de arquivos”.
Se você criar manualmente um diretório sob o diretório de dados (por exemplo, com mkdir), o servidor o considera um diretório de base de dados e ele aparece na saída de SHOW DATABASES
.
Quando você cria um banco de dados, deixe o servidor gerenciar o diretório e os arquivos nele contidos. Manipular diretórios e arquivos de banco de dados diretamente pode causar inconsistências e resultados inesperados.
O MySQL não tem limite no número de bases de dados. O sistema de arquivos subjacente pode ter um limite no número de diretórios.
Você também pode usar o programa mysqladmin para criar bancos de dados. Veja Seção 4.5.2, “mysqladmin – A MySQL Server Administration Program”.