Nesse artigo usaremos alter database para alterar as características de um banco de dados.
Sintaxe para alter database
Para alterar o banco de dados sendo usado atualmente:
alter database
para alterar o banco de dados chamado nome_banco_de_dados:
alter database nome_banco_de_dados
Podemos alterar o character set e collation para o banco também.
- Character set: define como e quais caracteres o banco de dados armazenará para suportar idiomas específicos.
- collation: define a regra de comparação de strings, por exemplo, a letra “a” aparece antes da letra “b”, etc.
Podemos listar os character set com o comando show character set;
show character set;
podemos ver uma lista de collation com o comando show collation;
show collation;
Dica de Uso do Character Set e Collation
Veja a tabela abaixo
MariaDB [(none)]> show character set; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | | tis620 | TIS620 Thai | tis620_thai_ci | 1 |
Temos as colunas Charset e Default collation. Charset aqui vem de Character set 🙂
Se escolhermos um charset à esquerda teremos que escolher o seu collation á direita. Por exemplo, se escolhi hp8 então terei que usar o collation hp8_english_ci, se usar outro retornará erro.
Exemplos de Uso de alter database
#1 vamos listar os bancos de dados existentes. Execute show databases;
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | dados | | dadosPessoais | | information_schema | | mysql | | nation | | performance_schema | | sys | +--------------------+
Iremos usar o banco de dados dadosPessoais.
#2 Veja detalhes do banco de dados executando o comando show create database dadosPessoais;
MariaDB [dadosPessoais]> show create database dadosPessoais; +---------------+------------------------------------------------------------------------------------------------------+ | Database | Create Database | +---------------+------------------------------------------------------------------------------------------------------+ | dadosPessoais | CREATE DATABASE `dadosPessoais` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ | +---------------+------------------------------------------------------------------------------------------------------+ 1 row in set (0,000 sec)
Podemos ver que o CHARACTER SET é o utf8mb4 e o COLLATE é o utf8mb4_general_ci
#3 altere o collation para latin2_general_ci e o character set para latin2
MariaDB [(none)]> alter database dadosPessoais character set = 'latin2' collate= 'latin2_general_ci';
#4 Agora, valide a alteração com o comando
MariaDB [(none)]> show create database dadosPessoais; +---------------+----------------------------------------------------------------------------------------------------+ | Database | Create Database | +---------------+----------------------------------------------------------------------------------------------------+ | dadosPessoais | CREATE DATABASE `dadosPessoais` /*!40100 DEFAULT CHARACTER SET latin2 COLLATE latin2_general_ci */ | +---------------+----------------------------------------------------------------------------------------------------+ 1 row in set (0,000 sec)