Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
webdev:sql:start [09/11/2017 15:26] dolo |
webdev:sql:start [27/07/2021 19:41] dolo [Supprimer une ligne dans la BDD] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== SQL, bases de données, etc ====== | ||
+ | ===== Importer une grosse base de données ===== | ||
+ | < | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Requête pour savoir si une table existe ===== | ||
+ | [[http:// | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== Jointures ===== | ||
+ | http:// | ||
+ | |||
+ | ===== Faire une colonne avec une condition ===== | ||
+ | <Code | 1 si groupe 4, sinon 0> | ||
+ | SELECT zed_customer.id_customer, | ||
+ | CASE WHEN zed_customer_group.id_group = 4 | ||
+ | THEN 1 | ||
+ | ELSE 0 | ||
+ | END AS profil_valide | ||
+ | FROM zed_customer | ||
+ | LEFT JOIN zed_customer_group ON zed_customer.id_customer = zed_customer_group.id_customer | ||
+ | </ | ||
+ | |||
+ | ===== Ne remonter que le plus grand ou la dernière date d'un champ ===== | ||
+ | Sachant qu'il y a des multiples entrées par id_customer mais ne veut que le dernier. On s'aide de [[http:// | ||
+ | < | ||
+ | SELECT zed_customer.id_customer, | ||
+ | FROM zed_customer | ||
+ | LEFT JOIN zed_projet_acces ON zed_customer.id_customer = zed_projet_acces.id_customer | ||
+ | GROUP BY zed_customer.id_customer | ||
+ | </ | ||
+ | |||
+ | ===== Requêteception ===== | ||
+ | Comment imbriquer des SELECT. | ||
+ | < | ||
+ | SELECT a.id_customer, | ||
+ | FROM zed_customer AS a | ||
+ | LEFT OUTER JOIN (SELECT id_parrain, COUNT(id_parrain) AS nb_filleuils | ||
+ | FROM zed_customer | ||
+ | GROUP BY id_parrain) | ||
+ | AS b ON a.id_customer = b.id_parrain | ||
+ | GROUP BY a.id_customer | ||
+ | </ | ||
+ | |||
+ | ===== Supprimer une ligne dans la BDD ===== | ||
+ | [[https:// | ||
+ | |||
+ | < | ||
+ | DELETE FROM table_name | ||
+ | WHERE condition; | ||
+ | </ | ||
+ | |||
+ | On peut utiliser [[https:// | ||
+ | |||
+ | < | ||
+ | SELECT * FROM submission WHERE title LIKE ' | ||
+ | // Delete the lines | ||
+ | DELETE FROM submission WHERE title LIKE ' | ||
+ | </ | ||
+ | ===== Fonctions liées à l' | ||
+ | [[http:// | ||
+ | <code linenums> | ||
+ | // Récupérer le datetime d'il y a 1 heure | ||
+ | DATE_ADD( NOW(), INTERVAL -1 HOUR ) | ||
+ | </ | ||
+ | |||
+ | ===== LIMIT & OFFSET ===== | ||
+ | [[https:// | ||
+ | **LIMIT :** limite le nombre de résultat total\\ | ||
+ | **OFFSET :** nombre d' |