Maison  >  Article  >  base de données  >  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

巴扎黑
巴扎黑original
2017-05-19 15:13:091994parcourir

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;

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;

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%';

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;

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;

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;

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!

Déclaration:
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