Table des matières

SQL

Encodages

Connaître l'encodage des bases de données

SELECT * FROM information_schema.schemata;

Connaître l'encodage des tables

SELECT table_schema, TABLE_NAME, table_collation FROM information_schema.tables;

Changer l'encodage d'une table

Source

utf8mb4 permet de stocker des caractères UTF8 sur 4 octets, donc notamment les émoticônes, à partir de MySQL 5.5:

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 

Égalité de chaînes de caractères sensibles à la casse

Source

SELECT *  FROM t WHERE BINARY colonne = 'value';

De la même manière avec les GROUP BY :

SELECT BINARY colonne, COUNT(*) FROM t GROUP BY BINARY colonne;

Le mot-clé BINARY semble ne pas fonctionner avec SQLite.

Ajouter un préfixe ou un suffixe à une chaîne

UPDATE matable SET mavaleur = CONCAT('préfixe ', mavaleur);

Min et max de deux éléments

SELECT GREATEST("abc", "def"), LEAST("abc", "def");

Dates

Extraire la date d'un datetime

Source

WHERE DATE(datetime) = '2009-10-20'

Chaîne vers date

Source

SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');

Créer une table depuis les résultats d'une requête

CREATE TABLE results AS SELECT * FROM other_table;

Il est aussi possible d'insérer les résultats d'une requête dans une table déjà existante :

INSERT INTO results SELECT * FROM other_table;

La syntaxe semble varier selon le SGBD utilisé.

Fonctions de fenêtrage