Tips and Tricks Mysql


Olá Pessoal!

O tema é um pouco diferente do que eu geralmente falo nos posts, mas advinhem só.
Os posts de banco de dados terão Tips and Tricks! \o

Este é sobre Mysql, acompanha aí!

A versão 5.6 do MySQL introduziu o habilidade the forçar o usuário a trocar sua senha.

O mysql.user possui uma coluna, chamada de PASSWORD_EXPIRED.

Por ela, o administrador do banco consegue redefinir a senha utilizando SET PASSWORD.
Tu pode fazer isso digitando ALTER USER PASSWORD EXPIRE.

Uma outra opção seria  ALTER USER 'thallita'@'localhost' PASSWORD EXPIRE;

Da próxima vez que thallita tentar se conectar ao MySQL via localhost, o servidor irá bloquear todos os comandos até que o usuario use SET PASSWORD;

Consequências do comando: Caso o administrador marque a senha de um usuário como expirada, ele não poderá conectar via clientes com versão anterior a 5.6.

Outra novidade da versão 5.6 do Mysql é o plugin de validação de senhas.
O plug-in  permite que você ajuste a complexidade de senha e até um dicionário de senhas (uma lista negra de palavras que não podem ser utilizadas como senha).

Os três níveis de verificação de senha são BAIXO , MEDIO e FORTE .
O padrão do plugin é definido MÉDIO ;

Para realizar alguma mudança, modifique o valor de validate_password_policy.
As descrições a seguir referem-se aos valores padrão de parâmetros;

 → LOW: Comprimento testes de diretiva de senha única. As senhas devem ter pelo menos 8 caracteres.

 → MEDIUM: Política adiciona as condições que as senhas devem conter pelo menos um caractere numérico, uma minúscula e letra maiúscula e um caractere especial (não alfanumérico).

 → STRONG: Política acrescenta a condição de que substrings senha de comprimento 4 ou mais não devem coincidir com as palavras no arquivo de dicionário, caso tenha sido especificado.

Utilizando índices

Os SGBD’s utilizam índices para tornar mais eficiente a recuperação dos dados de um banco de dados.
Você pode criar um índice para uma tabela ao criar a tabela em si, ou criar um índice para tabelas existentes.
O código a seguir cria uma nova tabela com um índice em uma das colunas:


 create index nomedoindex
 on nometabela(nomedacolunaquereceberáoindex);
   
   Com o comando acima você está criando um index para a coluna desejada da tabela desejada.
Dificultou? Quer um exemplo?
 
      Eu tenho no banco a tabela pessoa.
      create table pessoa(
      codigo int(6) primary key auto_increment,
      nome   varchar(50) not null,
      email  varchar(40) not null);

      e resolvo criar um index para uma coluna desta tabela.
   
      create index index_pessoa on pessoa(nome);
   
      Também posso criar vários indices para a mesma tabela.Desta forma:
   
      ALTER TABLE PESSOA ADD INDEX (codigo), ADD INDEX nome (email);
   

Utilizando Funções: Like,Left e Right;


Utilizando o comando Like

Considere a lista de nomes para todos os exemplos desta sessão:

 thallita celeste
 marcos soares
 gabriela santos
 jose ferreira
 carlos eduardo
 alberto moraz


Buscar por posição da palavra;
Comando: select * from pessoa where nome like'_l%';
Resultado: alberto moraz.
Explicação: Cada _ que você adiciona, é uma posição que conta.

Buscar por palavras que terminam com uma letra específica;

Comando: select * from pessoa where nome like'%a';
Resultado: jose ferreira.
Explicação: Porque o banco não trouxe Gabriela Santos como resultado, o nome dela não termina com 'a' ? SIM! O NOME termina com A mas o sobrenome com S. Este comando
Olhará o campo nome como um 'todo'. Então ele trará Gabriela se no cambpo nome do banco estiver salvo apenas Gabriela. Entenderam?

Buscar por palavras que começam com uma letra específica;
Comando: select * from pessoa where nome like'a%';
Resultado: alberto moraz.
Explicação: O comando exibirá todas pessoas que tenham a letra 'a' como inicial de nome.

Buscar por letras dentro da palavra;
Comando: select * from pessoa where nome like'c%s%o';
Resultado: carlos eduardo.
Explicação: Palavra deve começar com c, ter no meio s e terminar com o.

Buscar por palavras que contenham com uma letra ou caracter específica;
Comando: select * from pessoa where nome like'%s%';
Resultado:  thallita celeste, marcos soares, gabriela santos, jose ferreira, carlos eduardo
Explicação: Retorna todos os nomes que contenham s.


Utilizando o comando Left

Comando: select left (nome,4) from pessoa;
Resultado:  thal, marc, gabr, jose, carl, albe.
Explicação: A função Left retornou os 4 primeiros caracteres à esquerda de uma string da coluna nome da tabela pessoa.

     
Utilizando o comando Right

Comando: select right (nome,4) from pessoa;
Resultado:  este, ares, ntos, eira, ardo, oraz.
Explicação: A função Left retornou os 4 primeiros caracteres à esquerda de uma string da coluna nome da tabela pessoa.


Utilizando Paginação de Registros: LIMIT
 
Comando: SELECT * FROM pessoa LIMIT 0,2;
Resultado:  todos os dados das 2 primeiras linhas da tabela pessoa.
Explicação:  Com o comando Limit, o usuário poderá capturar os registros da linha 0 e até uma numeração satisfatória paginando sua busca.

Bom pessoal, espero que tenham gostado!!

Até a próxima galera!! o/

Thallita Celeste

Olá! Sou Thallita, fundadora do blog ThallitaCeleste. Sou Analista de segurança, com fome de conhecimento e grande vontade de ajudar as pessoas ao redor. Aqui, tento manter meu histórico sobre diversos temas. Bem, seja Bem Vindo ao meu Blog! Espero que goste. o/

Nenhum comentário:

Postar um comentário