MYSQL Curso Completo

mysql_logoNeste curso você aprenderá os princípios de Banco de Dados. O curso tem duração de aproximadamente 12 horas de aula, sendo que o mesmo está dividido em duas principais partes, sendo elas: Modelagem de Dados e Linguagem SQL, um curso feito para pessoas que não têm nenhum conhecimento em banco de dados e também para aqueles que querem enriquecer ainda mais o seu conhecimento. Você com certeza terá em suas mãos um curso que realmente vai ensinar você aquilo que você precisa saber sobre Banco de dados, sobre SQL e sobre o MySQL.

Continue reading “MYSQL Curso Completo”

Contar caracteres com MySQL

Objetivo: Contar a quantidade de caracteres de um determinado campo da tabela MySQL

Vamos fazer uso das funções da linguagem SQL para contar caracteres de um campo salvo em uma tabela. Ou seja, vamos selecionar diversos registros de uma tabela e contar os caracteres de um de seus campos.

No jogo de funções de MySQL para string (cadeias de caracteres) temos várias funções para contar caracteres:

LENGTH(cadeia)
Recebe uma cadeia , conta e retorna o número de caracteres.

CHARACTER_LENGTH(cadeia)
Recebe também uma cadeia e retorna o número de caracteres contados.

CHAR_LENGTH(cadeia)
É um sinônimo de CHARACTER_LENGTH. Embora nem todas as versões de MySQL o tenham.

A diferença entre LENGTH e CHARACTER_LENGTH é que em CHARACTER_LENGTH um caractere “multibyte” conta como um só caractere. Em LENGTH conta o número de bytes da cadeia. Assim, no caso de ter uma cadeia com 5 caracteres que ocupam 2 bytes cada um, LENGTH retornaria 10 e CHARACTER_LENGTH só 5.

Por enquanto vamos utilizar CHARACTER_LENGTH, que parece nos devolverá os resultados que esperamos obter, o número de caracteres da cadeia, independentemente de que a codificação possa ser multi-byte.

SELECT character_length( ‘um texto’ )

Esta sentença devolveria o valor 8, que é o número de caracteres que possui a cadeia “um texto”.

Porém, agora imaginemos que queremos obter todos os países de uma tabela, junto com o número de caracteres que têm cada uma das cadeias do nome do país.

SELECT CHARACTER_LENGTH(nome_país), nome_país FROM país

Isto nos retornaria um conjunto de registros com o número de caracteres de cada nome do país e em seguida outro campo com o nome do país.

SELECT nome_país FROM país where CHARACTER_LENGTH(nome_país)=6

Isto nos retorna os nomes de país que possuem 6 caracteres.

SELECT CHARACTER_LENGTH(nome_país) as ‘numcaracteres’, nome_país FROM país ORDER BY CHARACTER_LENGTH(nome_país)

Esta última sentença retorna um conjunto de registros onde o primeiro campo, ao qual demos o nome de “numcaracteres” para depois nos referirmos a ele, mostra o número de caracteres e o segundo campo, o nome do país. Em seguida está ordenado pela longitude da cadeia, contada também por seus caracteres.

Fonte : http://www.criarweb.com
Por: /Miguel Angel Alvarez – Tradução de Celeste Veiga  

 

SQL para contar os registros que têm um campo com valor repetido

Dúvida :

Tenho uma tabela em mysql com dados e quero fazer uma consulta select SQL para saber quais registros têm o valor de um campo repetido. Por exemplo, tenho uma tabela de usuários, os usuários têm e-mail e quero saber que usuários têm o e-mail repetido.

Solução :

Para fazer isso você precisa fazer uma sentença SQL na qual seleciona os emails dos usuários e os conta. Logo, agrupa por e-mail de usuário e utiliza a cláusula having para restringir os usuários cuja conta foi maior que 1.

O melhor é ver com um exemplo:

MYSQL Administrator + MYSQL WAMP Service

Quando o MySQL System Tray Monitor não reconhecer a instância do serviço do mysql do wamp é preciso desmarcar a opção selecionada na imagem, para q ele não limite a busca a somente serviços que iniciem com “mysql”.

Agora o próximo passo é :

Selecione o serviço do wampmysql, vá em Service Control e depois Configure Service.
Em Configuration File (vai estar):

Config Filename: c:\wamp\my.cnf

altere para :

Config Filename: c:\wamp\wampmanager.conf

Salve e pronto, pode abrir normal com o MYSQL Administrator!

Tabelas corrompidas no MySQL

Tabelas corrompidas no MySQL

O que fazer quando ocorre o erro “ERROR 145 (HY000): Table ‘nome da tabela’ is marked as crashed and should be repaired” ?

Acessar o banco com problemas:

mysql> use ‘nome_do_banco’;

Testar as tabelas até descobrir qual é a tabela ruim:

mysql> check table ‘nome_da_tabela’;

Reparar a tabela ruim:

mysql> repair table ‘nome_da_tabela’;

Fonte : Bruno Faria Aguieiras