Requête SQL : trucs et astuces 2

Il y a quelques mois, j’avais écrit un article sur des trucs et astuces SQL.
Aujourd’hui, j’aimerai partager avec vous d’autres trucs et astuces SQL.

Trouver et supprimer des doublons

J’ai trouvé cette paire d’astuces sur le site sql.sh, qui contient deux articles complet sur ce sujet.

Le premier article traite des 3 cas de doublons de l’on peut avoir en BDD (Doublon absolu, Doublon relatif et Quasi-doublon), et montre les requêtes adéquates pour chaque cas.
Le deuxième article montre les 2-3 requêtes pour supprimer ces doublons.

A garder pour la suite.

Ajouter une colonne avant, ou après, une autre colonne

Lors de la modification de table dans mon application de gestion de BDD, je regarde souvent les requêtes qui sont généré par l’outil.
Quand je veux ajouter un champ après un autre champ, pour une meilleure visibilité de la table. Cela me donne la requête suivante :

ALTER TABLE nom_de_la_table
ADD nom_de_la_colonne_2 type_de_donnée
AFTER nom_de_la_colonne;

Voici la technique quand vous devez ajouter une colonne en tant que première colonne dans une table.

ALTER TABLE nom_de_la_table
ADD id INT NOT NULL FIRST;

Déplacer des colonnes dans une table

Dans de rare cas, il y a besoin de changer l’ordre des colonnes dans une table SQL.
Dans les interfaces des applications comme PhpMyAdmin, ce n’est pas possible de le faire directement.
Voici les 2 requêtes qui vont bien :

ALTER TABLE nom_de_la_table 
MODIFY COLUMN nom_colonne_2 type_de_donnée
AFTER nom_colonne_1
ALTER TABLE nom_de_la_table
MODIFY COLUMN colonne_a_deplacer type_donnees FIRST

Changer la configuration de sql_mode pour une session

Si vous ne savez pas ce qu’est le sql_mode, j’ai déjà écrit un article sur ce sujet.
Pour vider la valeur de votre sql_mode, il suffit de taper :

SET sql_mode='';

Autres exemple, pour stocker 0 comme valeur dans certaines colonnes.

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"

Ce mode contient beaucoup d’autres valeurs. Voici les liens vers différentes documentation :

Si vous avez d’autres astuces SQL, n’hésitez pas à les partager en commentaires.

Curabitur ante. leo. vel, massa venenatis nunc