Conjunto de Caracteres e Collation de Banco de Dados
Todo banco de dados tem um conjunto de caracteres de banco de dados e uma collatio de banco de dados, que não podem ser nulos. Os comandos CREATE DATABASE
e ALTER DATABASE
agora possuem cláusulas opcionais para especificarem o collation e conjunto de caracteres de banco de dados:
CREATE DATABASE db_name [DEFAULT CHARACTER SET character_set_name [COLLATE collation_name]] ALTER DATABASE db_name [DEFAULT CHARACTER SET character_set_name [COLLATE collation_name]]
Exemplo:
CREATE DATABASE db_name DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
O MariaDB escolhe o conjunto de caracteres e collations do banco de dados desta forma:
- Se
CHARACTER SET X
eCOLLATE Y
foram especificados, então o conjunto de caracteres éX
e a é collationY
. - Se
CHARACTER SET X
foi especificado semCOLLATE
, então o conjunto de caracteres éX
e a collation é o padrão. - Senão utiliza o conjunto de caracteres e a collation de servidor.
A sintaxe CREATE DATABASE ... DEFAULT CHARACTER SET ...
do MariaDB é análoga a sintaxe CREATE SCHEMA ... CHARACTER SET ...
do padrão SQL. Por isto, é possível criar bancos de dados com com conjunto de caracteres e collations diferentes, no mesmo servidor MySQL.
O conjuto de caracteres e collations do banco de dados são usados como valores padrões se o conjunto de caracteres e a collation de tabela não forem especificados nas instruções CREATE TABLE
. Eles não possuem nenhum outro propósito.