MySQL :: MySQL 8.0 Reference Manual :: 13.1.12 CREATE DATABASE Statement

13.1.12 CREATE DATABASE Statement

CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}

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 activa LOCK TABLES.

Cada create_option especifica uma característica do banco de dados. As características da base de dados são armazenadas no dicionário 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 informações sobre conjunto de caracteres e nomes de 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.7.3, “Declaração SHOW CHARACTER SET”, e Seção 13.7.7.4, “Declaração SHOW COLLATION”.

  • A opção ENCRYPTION, introduzida no MySQL 8.0.16, define a criptografia padrão da base de dados, que é herdada por tabelas criadas na base de dados. Os valores permitidos são 'Y' (criptografia habilitada) e 'N' (criptografia desabilitada). Se a opção ENCRYPTION não for especificada, o valor da variável de sistema default_table_encryption define a criptografia padrão do banco de dados. Se a variável table_encryption_privilege_check estiver ativada, a TABLE_ENCRYPTION_ADMIN privilégio é necessário para especificar uma configuração padrão de criptografia que difere da configuração default_table_encryption. Para mais informações, veja Definindo um Padrão de Criptografia para Esquemas e Tabelas Gerais.

Um banco de dados no MySQL é implementado como um diretório contendo arquivos que correspondem a tabelas no banco de dados. Como não há tabelas em uma base de dados quando ela é inicialmente criada, a instrução CREATE DATABASE cria apenas um diretório sob o diretório de dados do MySQL. As regras para os nomes permitidos da 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”.

Criar um diretório de banco de dados criando manualmente um diretório sob o diretório de dados (por exemplo, com mkdir) não é suportado no MySQL 8.0.

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 para o 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 bases de dados. Veja Seção 4.5.2, “mysqladmin – A MySQL Server Administration Program”.

Deixe uma resposta

O seu endereço de email não será publicado.