Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| webdev:sql:start [09/11/2017 15:26] – dolo | webdev:sql:start [27/07/2021 19:41] (Version actuelle) – [Supprimer une ligne dans la BDD] dolo | ||
|---|---|---|---|
| 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' | ||