Queridos amigos,
Nesta aula, com foco na utilização do banco de dados MySql instalado junto da suite wampserver, eu falo sobre a definição de charset e collation do banco de dados, que serve para preparar o DB para os tipos de dados que serão armazenados, no tocante ao fato de terem; ou não, “ç”, letras acentuadas e/ou outros caracteres especiais, evitando que letras “estranhas” sejam inseridas no banco de dados.
Abaixo as anotações do quadro-branco utilizado na vídeo aula.
tipos de mecanismos de armazenamento
* MyISAM: tem tabelas nao transacionais, alta velocidade de pesquisa e armazenamento
* Memory (heap): cria tabelas na memoria
* InnoDB: tem tabelas transacionais e suporta chaves estrangeiras (foreign key)
* NDBCLUSTER: Tabelas particionadas armazenadas em servidores diferentes (cluster)
* Archive: armazena grandes quantidades de dados sem indexar
* csv: armazena em um arquivo de texto, separando campos e dados com virgulas ou ponto-virgula
##############################
Erros de inserçao de caracteres
“Fundação”, no db fica “Fundação”.
latin1_general_ci: Não há distinção entre letras maiúsculas e minúsculas. Buscando por “teste”, registros como “Teste” ou “TESTE” serão retornados.
latin1_general_cs: Distingue letras maiúsculas e minúsculas. Buscando por “teste” somente retornará “teste”. Opções como “Teste” e “TESTE” não serão retornadas.
latin1_swedish_ci: Não distingue letras minúsculas e maiúsculas e nem caracteres acentuados e com cedilha, ou seja, o registro que contém a palavra “Administração” será retornado quando houver uma procura pela palavra “ádministracao”.
##############################
Como verificar:
show variables like ‘%char%’;
show variables like ‘%coll%’;
##############################
Criando DB com tipos corretos:
create database db_teste2
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
##############################
Como modificar o banco de dados:
ALTER DATABASE nome_do_DB CHARSET = Latin1 COLLATE = latin1_swedish_ci;
ALTER DATABASE nome_do_DB CHARSET = UTF8 COLLATE = utf8_general_ci;
##############################
Como modificar a tabela
use db_teste;
alter table nome_da_tb collate latin1_general_ci;
##############################
A codificação do site (tag html)
<head>
<meta charset=”UTF-8″>
</head>