Maison > base de données > tutoriel mysql > Tutoriel sur le jeu de caractères MySQL et l'ordre de classement

Tutoriel sur le jeu de caractères MySQL et l'ordre de classement

巴扎黑
Libérer: 2017-05-19 15:13:09
original
2034 Les gens l'ont consulté

Utilisation des jeux de caractères et de l'ordre de classement

MySQL prend en charge de nombreux jeux de caractères. Pour voir la liste complète des jeux de caractères pris en charge, utilisez l'instruction suivante :

Entrée :

show character set;
Copier après la connexion

Analyse : Cette instruction affiche tous les jeux de caractères disponibles et une description de chaque jeu de caractères. défaut.

Pour voir la liste complète des classements pris en charge, utilisez l'instruction suivante :

Entrée :

show collation;
Copier après la connexion

Analyse : cette instruction affiche tous les classements disponibles et auxquels ils appliquer le jeu de caractères. Vous pouvez constater que certains jeux de caractères ont plusieurs classements. Par exemple, latin1 a plusieurs classements pour différentes langues européennes, et de nombreux classements apparaissent deux fois, une fois sensible à la casse (noté _cs) et une fois insensible à la casse (noté _ci).

Habituellement, l'administrateur système définit un jeu de caractères et un classement par défaut lors de l'installation. De plus, vous pouvez également spécifier le jeu de caractères et le classement par défaut lors de la création de la base de données. Pour déterminer le jeu de caractères et le classement utilisés, vous pouvez utiliser l'instruction suivante :

Entrée :

show variables like 'character%';
show variables like 'collation%';
Copier après la connexion

En fait, les jeux de caractères sont rarement à l'échelle du serveur (ou même à l'échelle de la base de données) paramètres. Différentes tables et même différentes colonnes peuvent nécessiter différents jeux de caractères, et les deux peuvent être spécifiés lors de la création de la table.

Pour spécifier le jeu de caractères et le classement de la table, utilisez CREATE TABLE avec les clauses :

Entrée :

create table mytable
(
columnn1       int,
columnn2       varchar(10)
)default character set hebrew collate hebrew_general_ci;
Copier après la connexion

Analyse : Cette instruction crée une table à deux colonnes et spécifiez un jeu de caractères et un ordre de classement.

Cet exemple spécifie à la fois CHARACTER SET et COLLATE. Généralement, MySQL détermine le jeu de caractères et le classement à utiliser comme suit.

1. Si CHARACTER SET et COLLATE sont spécifiés, ces valeurs sont utilisées.

2. Si seul CHARACTER SET est spécifié, ce jeu de caractères et son classement par défaut sont utilisés (comme indiqué dans les résultats de SHOW CHARACTER SET).

3. Si ni CHARACTER SET ni COLLATE ne sont spécifiés, la valeur par défaut de la base de données est utilisée.

En plus de pouvoir spécifier des jeux de caractères et des plages de tables de classement, MySQL vous permet également de les définir colonne par colonne, comme suit :

Entrée :

create table mytable
(
columnn1       int,
columnn2       varchar(10),
columnn3       varchar(10) character set latin1 collate latin1_general_ci
latin_grneral_ci
)default character set hebrew collate hebrew_general_ci;
Copier après la connexion

Analyse : Ici CHARACTER SET et COLLATE sont spécifiés pour l'ensemble du tableau ainsi que pour une colonne spécifique.

Comme mentionné précédemment, le classement joue un rôle important dans le tri des données récupérées à l'aide de la clause ORDER BY. Si vous devez trier une instruction SELECT spécifique dans un ordre de classement différent de celui lorsque vous avez créé la table, vous pouvez le faire dans l'instruction SELECT elle-même :

Entrée :

select * from customers order by lastname,firstname collate latin1_general_cs;
Copier après la connexion

Analyse : Ce SELECT est spécifié à l'aide de COLLATE. Un autre ordre de classement (dans ce cas, un classement sensible à la casse). Cela affectera évidemment l'ordre dans lequel les résultats sont triés.

Sensibilité temporaire à la casse L'instruction SELECT ci-dessus démontre une technique pour effectuer une recherche sensible à la casse sur une table qui est normalement insensible à la casse. Bien entendu, l’inverse est également possible.

Autres clauses COLLATE de SELECT En plus d'être utilisée dans la clause ORDER BY comme vu ici, COLLATE peut également être utilisée dans GROUP BY, HAVING, des fonctions d'agrégation, des alias, etc.

Enfin, il convient de noter que les chaînes peuvent être converties entre des jeux de caractères si cela est absolument nécessaire. Pour ce faire, utilisez la fonction Cast() ou Convert().

[Recommandations associées]

1. Tutoriel vidéo gratuit MySQL

2 Introduction au jeu de caractères MySQL et ordre de relecture.

3. Explication détaillée des transactions MySQL sur l'utilisation des points de rétention et la modification du comportement de validation par défaut

4 Transaction MySQL-ROLLBACK, explication détaillée de l'utilisation de COMMIT.

5. Explication des exemples de traitement de transactions MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal