Gestion du charset et de l'interclassement

Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Apprendre MySQL 8.0 par la pratique
Revoir le teaser Je m'abonne
Transcription

Cette leçon fait partie de la formation
89,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

DescriptionProgrammeAvis

Cette leçon fait partie de la formation
89,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

Être capable de créer et exploiter une base de données MySQL au quotidien de manière autonome.

Cette formation a été conçue à destination d'un public sans connaissances préalables sur les bases de données, avec l'ambition de transmettre les notions fondamentales permettant d'entrer sereinement et efficacement dans l'univers des bases de données, et d'exploiter MySQL au quotidien de manière autonome.

Elle permet de tirer parti de logiciels de qualité conçus spécialement pour travailler avec les bases de données : MySQL Workbench et Datagrip.

Elle met l'accent sur la pratique, et comprend de nombreuses démonstrations, mises en situations, exercices corrigés et commentés.

Elle met à disposition en ressources téléchargeables 3 bases de données portant sur des thèmes variés (médicaments vétérinaires, sécurité routière, prénoms), les scripts SQL des démonstrations les plus longues, et intègre un code promotionnel vous permettant de bénéficier d'une prolongation à 4 mois de la période d'essai gratuite de Datagrip.

Voir plus
Dans cette vidéo on va s'intéresser aux notions de Character Set et de collation ou d'interclassement. Alors de quoi s'agit-il ? Le Character Set ou Charset c'est le jeu de caractères que MySQL utilise. Alors MySQL prend en charge de nombreux jeux de caractères, il en applique un par défaut qui s'appelle le UTF-8 MB4. Si on veut visualiser la liste de tous les jeux de caractères que MySQL prend en charge, eh bien on peut exécuter cette instruction, on voit que la liste est relativement longue, donc on en a 41 pour être précis. On a la possibilité de se limiter à ceux dont le nom commence par UTF-8, on voit qu'on a notre jeu de caractères UTF-8 MB4 qui apparaît dans la liste. Ce jeu de caractères suffira dans la grande majorité des cas, il prend même en charge des émoticônes par exemple, donc c'est largement suffisant. La collation, ce qu'on appelle aussi l'interclassement, c'est la manière dont MySQL va faire la différence entre des chaînes de caractères qui sont accentuées, pas accentuées, en majuscule, pas en majuscule. Donc il existe plusieurs collations possibles pour un même jeu de caractères, mais il y en a toujours une qui est associée par défaut à un jeu de caractères donné. Pour ce qui est du caractère 7 UTF-8 MB4, eh bien on peut voir dans cette table ici la collation qui s'applique par défaut, c'est la UTF-8 MB4 0900 AICI. Alors on a des conventions de nommage qui s'appliquent dans les noms des collations. Alors on a parfois deux lettres qui nous indiquent la nationalité associée à la collation. Ici le 0900 indique la version de l'algorithme de collation Unicode, donc c'est la version 9.0.0 qui est utilisée. C'est la valeur qui est employée par défaut par MySQL avec le jeu de caractères par défaut. Ensuite AICI, qu'est-ce que ça signifie ? AICI c'est Accent Insensitive, CI c'est Case Insensitive, donc ça veut dire respectivement qu'avec cette collation là, MySQL ne fait pas la différence entre des caractères accentués et pas accentués, et entre des majuscules et des minuscules. On pourrait très bien avoir, au lieu d'avoir AIAS, auquel cas ce serait sensible aux accents, et au lieu d'avoir CI, on aurait CS, et dans quel cas ce serait sensible aux majuscules, sensible à la casse. On peut visualiser la liste des décollations qui sont prises en charge par MySQL. On voit qu'il y en a quand même un certain nombre, pas loin de 300, et que pour ce qui est du jeu de caractères UTF-8, il y en a de nombreuses. On est là par exemple, donc ça commence ici, on voit qu'il y en a pas mal, on voit que des fois il y a effectivement des lettres qui nous indiquent la nationalité prise en charge, par exemple ES pour l'Espagne, etc. Si on veut avoir uniquement les collations associées au jeu de caractères UTF-8 MB4 et utilisant l'algorithme de collation Unicode dans sa version 9.0, on exécute cette instruction et on voit qu'on a seulement quatre jeux de caractères, quatre collations qui sont disponibles. Dans la grande majorité des cas, elles suffiront aux applications courantes de MySQL. La première est insensible aux accents et à la casse, la deuxième sensible aux accents mais insensible à la casse, la deuxième sensible aux accents et à la casse. Quant à la collation qui se termine par BIN, c'est celle que je vous recommande d'utiliser lorsque vous avez besoin d'avoir une sensibilité aux accents et à la casse, c'est celle qui est la plus discriminante. Alors mettons toutes ces théories en application sur un exemple, on va créer une table qui s'appelle Substance et dans laquelle on va contenir trois colonnes, dont deux colonnes qui sont de type VARCHARD, puisque la collation et l'interclassement, enfin la collation et le CARSET, ce sont des considérations qui ne concernent que les colonnes qui contiennent du texte, que ce soit du CAR, du VARCHARD, du texte ou des dérivés du type texte. Donc ignorez jusqu'ici les commentaires qui sont indiqués, ils ne s'exécuteront pas de toute façon, donc on va créer la table telle qu'on l'avait créée finalement jusqu'ici, sans prendre en compte, sans spécifier particulièrement le CARSET ou la collation. Donc cette table est créée, on peut exécuter l'instruction show full columns from le nom de la table qui va nous indiquer la collation qui est appliquée à chaque colonne de type texte. Donc ici on voit qu'on a la collation par défaut qui s'est appliquée. Si j'exécute cette instruction, j'obtiens des informations supplémentaires sur la collation qui s'est établie au niveau de la table, de même que le CARSET. Je vois qu'on a eu le CARSET par défaut et la collation par défaut qui s'est appliquée. Je pourrais très bien recréer cette table en spécifiant moi-même le caractère set et la collation. Donc on utilise l'instruction caractère set ou CARSET, le nom du jeu de caractère, collate, et le nom de la collation. Si j'exécute cette instruction, j'ai exactement la même chose, je peux rafraîchir cette requête et je vois qu'il n'y a rien qui a changé. Maintenant, je vais insérer des enregistrements dans ma table. En l'occurrence, j'insère six valeurs. On pourrait dire six fois la même valeur, mais en réalité, cette valeur ne va pas forcément être considérée comme étant la même selon la collation qu'on utilise. Donc j'utilise un nom d'anti-inflammatoire écrit avec tantôt des accents, tantôt des majuscules, tantôt avec, tantôt sans. Si j'exécute ensuite cette instruction SELECT qui recense les enregistrements en les classant par ordre croissant, je vois que globalement, ils ressortent tels qu'ils ont été rentrés dans la table, exactement dans le même ordre. Cela veut dire que réellement, on n'a pas du tout pris en compte les accents ni les majuscules dans l'algorithme de tri. Je peux aussi faire une recherche d'un enregistrement, ou en tout cas d'un désenregistrement, dont la valeur est égale à MELOXICAM écrit sans accent tout en minuscules. Si j'exécute cette instruction, je vois que ça me ressort un désenregistrement avec majuscule ou sans majuscule, avec ou sans accent. On est typiquement dans le cas où on ignore les accents et les majuscules. Je vais supprimer cette table et la recréer en précisant cette fois-ci, au niveau de ma colonne, le jeu de caractère et la collation que je vais appliquer. Je précise le jeu de caractère en utilisant l'instruction CHARACTER 7 suivi du nom de jeu de caractère, COLLECT suivi du nom de la collection pour préciser la collation. Je peux préciser par exemple une collation qui serait insensible à la casse mais sensible aux accents. Alors précisons une chose, c'est que ici j'ai indiqué explicitement quel était le jeu de caractère et quelle était la collation que je voulais voir appliquée. Si je n'avais précisé que le jeu de caractère, alors ce jeu de caractère aurait été appliqué et la collation par défaut de ce jeu de caractère aurait été choisie, par défaut par majuscule. Je peux aussi préciser que la collation, auquel cas, c'est le jeu de caractère par défaut qui est choisi. Si j'exécute donc cette instruction, je vois ensuite que la collation que j'ai spécifiée a bien été prise en compte et qu'elle est venue écraser la collation par défaut que j'avais indiqué au niveau table. Au niveau table, on voulait une insensibilité aux accents mais comme j'ai été plus précis au niveau de la colonne, et bien c'est cette dernière indication qui l'emporte. Je vais donc réinsérer des enregistrements dans cette nouvelle table et effectuer un tri. Cette fois-ci, je vois que clairement l'ordre est différent. Les caractères non accentués apparaissent avant les caractères accentués. De la même manière, lorsque les majuscules sont prises en compte, les majuscules arrivent avant les minuscules dans le tri. Ici, on ignore les majuscules donc finalement qu'il y ait des majuscules ou pas, ça n'a pas d'incidence sur le tri. Si j'effectue une recherche des enregistrements qui contiennent la valeur méloxicam en minuscules et sans accents, cette fois-ci, ça ne me retourne pas six enregistrements mais seulement trois, ceux qui ne comportent aucun accent, qu'ils soient écrits en majuscules ou pas. Une dernière fois, on va refaire cet exercice en utilisant la collation bine. On peut aussi en profiter pour montrer qu'on peut spécifier une collation différente sur plusieurs colonnes. Par exemple, si j'exécute cette instruction et que je vérifie la structure de ma table, je vois que les collations ont bien été prises en compte comme je le souhaitais. J'insère à nouveau des enregistrements dans ma table et je vais effectuer un tri par ordre ascendant sur le nom. Je vois qu'effectivement, j'ai bien les majuscules qui apparaissent en premier et les caractères non accentués qui apparaissent avant les caractères accentués. Si j'essaye de rechercher dans ma table les enregistrements dont le nom est égal à la valeur méloxicam sans accents et sans majuscules, cette fois-ci, je n'aurai plus qu'un seul et unique enregistrement, celui qui est écrit en minuscules et sans accents. J'espère que ça vous aura fait prendre conscience de l'importance de prendre en compte le carcet et surtout la collation et l'incidence que ça peut avoir sur la manière dont maïsquelle va se comporter lorsque vous faites des restrictions ou lorsque vous ordonnez vos enregistrements.

Programme détaillé

Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Unions 06:39
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Nos dernières formations Code & Data
  • Nouveau
    Maîtriser FlutterFlow - De l'Idée à l'Application
    Découvrir
    Cette formation en FlutterFlow est l'outil idéal pour tout développeur souhaitant créer des applications mobiles robustes et interactives sans coder de manière complexe. Grâce à des modules complets et structurés, vous apprendrez à utiliser FlutterFlow et Firebase, à sécuriser vos données, à concevoir des interfaces utilisateur élégantes et à intégrer des API telles qu'OpenIA. Rejoignez-nous pour transformer vos idées en applications innovantes et performantes.
    4h08 57 leçons
  • Nouveau
    Webflow - Créer la landing Page d'OpenAI
    Découvrir
    À l'issue de cette formation, les participants seront capables de créer de manière autonome une landing page sophistiquée, similaire à celle d'OpenAI, en utilisant les fonctionnalités avancées de Webflow pour le design responsive et les interactions.
    3h48 19 leçons
  • Apprendre Svelte 3 et SvelteKit 1.0
    Découvrir
    Créez des applications web modernes et ultra-rapides avec notre formation "Apprendre Svelte 3 et SvelteKit 1.0". Rejoignez-nous et devenez un expert du développement JavaScript ! 🚀 #Svelte #SvelteKit #DéveloppementWeb
    7h42 77 leçons
  • Apprendre Vue JS 3
    Découvrir
    Apprenez à créer des applications web modernes avec notre formation "Apprendre Vue JS 3". Rejoignez-nous et maîtrisez ce puissant framework JavaScript ! 🚀 #VueJS #FormationWeb #Développement
    11h47 91 leçons
  • Gratuit
    Apprendre ChatGPT
    Découvrir
    Ce cours vise à fournir une compréhension approfondie de l'intelligence artificielle, en se concentrant sur l'utilisation pratique de ChatGPT et DALL-E. Les participants découvriront comment l'IA peut transformer des domaines variés tels que le marketing, le développement web, et le design graphique. Le contenu couvre les bases de l'IA, l'art de créer des prompts efficaces, l'utilisation de plugins avancés, et le codage assisté par IA. Des projets pratiques permettront d'appliquer ces connaissances dans des scénarios réels. Destiné aux professionnels de la technologie, aux marketeurs, aux développeurs, et à toute personne intéressée par l'IA, ce cours est une opportunité d'acquérir des compétences innovantes et applicables dans divers contextes professionnels et créatifs. Les prérequis incluent une compréhension basique de l'informatique et un intérêt pour l'IA. Le cours promet une aventure d'apprentissage enrichissante, ouvrant de nouvelles perspectives dans l'utilisation de l'intelligence artificielle.
    3h12 30 leçons

éditeur de vidéos pédagogiques

Des supports pédagogiques en vidéo, produits avec les meilleurs experts. Dans nos studios à Paris, Lyon ou Montpellier. Vous souhaitez travailler avec nous ?
image-micro