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 tabelaSELECT 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_id
, title
, company
);
//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"