Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== SQL ====== * [[https://blog.stephane-robert.info/docs/services/bdd/relationnelles/introduction/|Les bases de données relationnelles]] * [[https://www.depesz.com/2024/12/01/sql-best-practices-dont-compare-count-with-0/|SQL best practices – don’t compare count(*) with 0]] * [[sql:mysql|MySQL]] ==== Encodages ==== * [[https://wincent.com/wiki/Finding_out_the_encoding_of_a_MySQL_database]] * [[https://ixnfo.com/en/how-to-change-mysql-database-encoding-and-its-tables.html]] === Connaître l'encodage des bases de données === <code sql> SELECT * FROM information_schema.schemata; </code> === Connaître l'encodage des tables === <code sql> SELECT table_schema, table_name, table_collation FROM information_schema.tables; </code> === Changer l'encodage d'une table === [[https://stackoverflow.com/questions/1294117/how-to-change-collation-of-database-table-column|Source]] ''utf8mb4'' permet de stocker des caractères UTF8 sur 4 octets, donc notamment les émoticônes, à partir de MySQL 5.5: <code sql> ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 </code> ==== Égalité de chaînes de caractères sensibles à la casse ==== [[https://stackoverflow.com/questions/5629111/how-can-i-make-sql-case-sensitive-string-comparison-on-mysql|Source]] <code sql> SELECT * FROM t WHERE BINARY colonne = 'value'; </code> De la même manière avec les ''GROUP BY'' : <code sql> SELECT BINARY colonne, COUNT(*) FROM t GROUP BY BINARY colonne; </code> Le mot-clé ''BINARY'' semble ne pas fonctionner avec SQLite. ==== Ajouter un préfixe ou un suffixe à une chaîne ==== <code sql> UPDATE matable SET mavaleur = CONCAT('préfixe ', mavaleur); </code> ==== Min et max de deux éléments ==== <code sql> SELECT GREATEST("abc", "def"), LEAST("abc", "def"); </code> ==== Dates ==== === Extraire la date d'un datetime === [[https://stackoverflow.com/questions/1754411/how-to-select-date-from-datetime-column|Source]] <code sql> WHERE DATE(datetime) = '2009-10-20' </code> === Chaîne vers date === [[https://www.mysqltutorial.org/mysql-str_to_date/|Source]] <code sql> SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y'); </code> ==== Créer une table depuis les résultats d'une requête ==== * [[https://learnsql.com/cookbook/how-to-create-a-table-from-an-sql-query/|Source]] <code sql> CREATE TABLE results AS SELECT * FROM other_table; </code> Il est aussi possible d'insérer les résultats d'une requête dans une table déjà existante : <code sql> INSERT INTO results SELECT * FROM other_table; </code> La syntaxe semble varier selon le SGBD utilisé. ==== Fonctions de fenêtrage ==== * [[https://openclassrooms.com/fr/courses/4449026-initiez-vous-a-lalgebre-relationnelle-avec-le-langage-sql/4563021-apprehendez-le-fenetrage-avec-over-et-partition-by]] * [[https://sqlpro.developpez.com/article/olap-clause-window/]] sql/accueil.txt Dernière modification : 2024/12/04 19:32de phsw