Une chaîne dans MySQL a un jeu de caractères et un classement . Utf8 est un jeu de caractères et utf8_bin est l'un de ses classements. Le classement détermine comment MySQL compare les chaînes.
Par exemple, voici deux manières de comparer une chaîne UTF8 :
select case when 'test' = 'TEST' collate utf8_bin
then 'true' else 'false' end,
case when 'test' = 'TEST' collate utf8_roman_ci
then 'true' else 'false' end
Le premier utilise le classement utf8_bin, qui est sensible à la casse. La seconde utilise utf8_roman_ci, qui est insensible à la casse.
Une liste de tous les jeux de caractères et classements peut être trouvée avec :
show character set
show collation
latin1_swedish_ci
est le classement par défaut (MySQL a été développé à l'origine en Suède), cela est également vrai pour MariaDB.