Exibindo informações das colunas, tabelas e banco de dados no PostgreSQL, MySQL e SQL Server


Alternando entre banco de dados corrente:

MySQL/SQL Server:

USE database_name;

PostgreSQL (psql):

\c database_name;

Exibindo as tabelas do banco de dados:

MySQL:

SHOW TABLES;

SQL Server:

SELECT * FROM sys.tables;

PostgreSQL (psql):  

\d;

PostgreSQL: 

SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

Listagem dos banco de dados:

MySQL:

SHOW DATABASES;

PostgreSQL(psql):

\l;

PostgreSQL:

SELECT datname FROM pg_database;

Exibindo as colunas de uma tabela:

MySQL: 

SHOW COLUMNS;

PostgreSQL(psql):

\d table_name;

PostgreSQL:  

SELECT column_name FROM information_schema.columns WHERE table_name ='table_name';

MySQL: 

DESCRIBE TABLE;

PostgreSQL (psql):

d+ table_name;

PostgreSQL:

SELECT column_name FROM information_schema.columns WHERE table_name ='table_name';

SQL Server;

exec sp_help 'table_name';

Até a próxima.

Criptografia de senhas no MySQL


Em muitos sites e outros sistemas informatizados existe a opção de cadastro e autenticação de usuários, e é sempre bom manter um nível alto de segurança em tais aplicações, o qual deve ter um cuidado cada vez maior dependendo do ramo que ela atua, como por exemplo sites de Internet Banking e outros.

Neste post irei mostrar alguns dos recursos voltados para a criptografia de dados  existentes no MySQL.

AES_ENCRYPT

Criptografa o dado com algoritmos simétricos (AES) que só pode ser descriptografada se a chave informada para recuperar o dado for igual a chave utilizada para criptografar.

Este comando possui a seguinte sintaxe:

AES_ENCRYPT('texto a ser criptografado', 'chave criptográfica')

Exemplo:

INSERT INTO usuarios(login, senha) VALUES ('meuusuario', AES_ENCRYPT('minha_senha123*', 'ASKASKSDJVS106DVSDJAHDLDSDFSBGXHG');

AES_DECRYPT

Sua função é descriptografar a sequencia que foi criptografada com o comando AES_ENCRYPT.

A sintaxe do comando é esta:

AES_DECRYPT('dado a ser descriptografado', 'chave criptográfica')

Exemplo:

Para recuperar a senha do usuário ‘meuusuario’ podemos utilizar a seguinte consulta:

SELECT AES_DECRYPT(senha, 'ASKASKSDJVS106DVSDJAHDLDSDFSBGXHG') FROM usuarios WHERE login = 'meuusuario'

PASSWORD

Esta função não é bem uma criptografia, ela na verdade embaralha os valores e até o presente momento não é possível recuperar o valor original da string.

Sua sintaxe é:

PASSWORD('string a ser embaralhada')

Exemplo

INSERT INTO usuarios(login, senha) VALUES('mynewuser', PASSWORD('mypassword'));

Para recuperar a mesma é só por comparações (tentativa/erro)

SELECT * FROM usuarios WHERE login = 'mynewuser' AND senha = PASSWORD('mypassord');

Conectando banco de dados MySQL com Java – Parte 2


Após a introdução e explanação sobre o que é o JDBC postadas neste blog na primeira parte, agora iremos realmente efetuar uma conexão de um aplicativo desktop com uma base de dados MySQL. Continue reading “Conectando banco de dados MySQL com Java – Parte 2”

Conectando banco de dados MySQL em Java – Parte 1


Neste post mostrarei como conectar um programa desenvolvido em Java com o SGBD (Sistema Gerenciador de Banco de Dados) MySQL. Iniciarei explicando brevemente a estrutura de conexão e daí passaremos para o programa em si.

Continue reading “Conectando banco de dados MySQL em Java – Parte 1”