Dicas de MySQL

//desabilitar o foreign key check
SET FOREIGN_KEY_CHECKS = 0;

//permitir datas zero
SET sql_mode = 'ALLOW_INVALID_DATES';

//multiple select
where id IN ( 1, 3, 5) 

//basic sql injection
OR 'A'='A' LIMIT 1; --

//avoid updates and deletes with invalid conditions
SET SQL_SAFE_UPDATES = 1
(if set to true, condition must be the primary key of the table)

//select where encripted column value equals encripted value
SELECT * FROM table_name WHERE sha1(`column_name`) = 'encripted string'

//saber quantos valores estão duplicados numa tabela
SELECT name, COUNT(*) c FROM table GROUP BY name HAVING c >1;

//apagar valores duplicados numa tabela mysql
//alterar a tabela onde existem registo duplicados usando o comando IGNORE
ALTER IGNORE TABLE jobs ADD UNIQUE INDEX idx_name ( site_idtitlecompany );

//selecionar apenas uma quantidade determinada de texto de um campo
SELECT SUBSTR(field_name, 1,100) AS desired_name FROM table_name;

//default value with current timestamp on mysql server < 5.6.5
definir o datatype do campo como "timestamp" e colocar como default "current_timestamp"


0000-00-00