Maintenant que l'on sait à peu près de quoi l'on parle, il est temps d'installer MySQL sur l'ordinateur, et de commencer à l'utiliser.
Au programme de ce chapitre :
Installation de MySQL
Connexion et déconnexion au client MySQL
Création d'un utilisateur
Bases de la syntaxe du langage SQL
Introduction aux jeux de caractères et aux interclassements
Avant-propos
Il existe plusieurs manières d'utiliser MySQL. La première, que je vais utiliser tout au long du tutoriel, est l'utilisation en ligne de commande.
Ligne de commande
Mais qu'est-ce donc ?
Eh bien, il s'agit d'une fenêtre toute simple dans laquelle toutes les instructions sont tapées à la main. Pas de bouton, pas de zone de saisie. Juste votre clavier.
Les utilisateurs de Linux connaissent très certainement. Pour Mac, il faut utiliser l'application "Terminal" que vous trouverez dans Applications
>Utilitaires
. Quant aux utilisateurs de Windows, c'est le "Command Prompt" que vous devez trouver (Démarrer
>Tous les programmes
>Accessoires
).
Interface graphique
Si l'on ne veut pas utiliser la ligne de commande (il faut bien avouer que ce n'est pas très sympathique cette fenêtre monochrome), on peut utiliser une interface graphique qui permet d'exécuter pas mal de choses simples de manière intuitive sur une base de données.
Comme interface graphique pour MySQL, on peut citer MySQL Workbench, PhpMyAdmin (souvent utilisé pour créer un site web en combinant MySQL et PHP) ou MySQL Front par exemple.
Pourquoi utiliser la ligne de commande ?
C'est vrai ça, pourquoi ? Si c'est plus simple et plus convivial avec une interface graphique ?
Deux raisons :
primo, parce que je veux que vous maîtrisiez vraiment les commandes. En effet, les interfaces graphiques permettent de faire pas mal de choses, mais une fois que vous serez bien lancés, vous vous mettrez à faire des choses subtiles et compliquées, et il ne serait pas étonnant qu'il vous soit obligatoire d'écrire vous-même vos requêtes ;
ensuite, parce qu'il est fort probable que vous désiriez utiliser MySQL en combinaison avec un autre langage de programmation (si ce n'est pas votre but immédiat, cela viendra probablement un jour). Or, dans du code PHP (ou Java, ou Python, etc.), on ne va pas écrire "Ouvre PhpMyAdmin et clique sur le bon bouton pour que je puisse insérer une donnée dans la base". On va devoir écrire en dur les requêtes. Il faut donc que vous sachiez comment faire.
Bien sûr, si vous voulez utiliser une interface graphique, je ne peux guère vous en empêcher. Mais je vous encourage vivement à commencer par utiliser la ligne de commande, ou au minimum à faire l'effort de décortiquer les requêtes que vous laisserez l'interface graphique construire pour vous. Ceci afin de pouvoir les écrire vous-même le jour où vous en aurez besoin (ce jour viendra, je vous le prédis).
Installation du logiciel
Pour télécharger MySQL, vous pouvez vous rendre sur le site suivant :
http://dev.mysql.com/downloads/mysql/#downloads
Sélectionnez l'OS sur lequel vous travaillez (Windows, Mac OS ou Linux).
Windows
Téléchargez MySQL avec l'installeur (MSI Installer), puis exécutez le fichier téléchargé. L'installeur démarre et vous guide lors de l'installation.
Sélectionnez "Install MySQL products" et acceptez la licence. L'installeur vous propose plusieurs types d'installations possibles. Si vous laissez l'option par défaut, cela installera une flopée de programmes, non nécessaires pour ce cours. Je vous conseille donc de choisir l'installation "Custom", puis, à l'écran suivant, désélectionnez les applications et les connecteurs. Le seul élément indispensable est "MySQL Server 5.6.17" (ou autre version). La documentation peut être utile si vous avez un jour besoin de la consulter hors ligne.
Lancez l'installation ! Une fois l'installation terminée, vous passez à l'étape de configuration. Laissez les options par défaut. La seconde étape de configuration vous permet de choisir un mot de passe pour l'utilisateur par défaut de MySQL, l'utilisateur "root". Vous pouvez laisser le mot de passe vide, mais c'est déconseillé.
Configuration
L'installation est maintenant terminée. Ouvrez maintenant le programme de ligne de commande "Command Prompt" (ou "Invite de commande" si votre Windows est francophone).
Pour pouvoir utiliser les programmes clients de MySQL, il faut que l'invite de commande sache où se trouvent ces programmes. On va donc ajouter le chemin vers MySQL aux dossiers explorés par l'invite de commande.
Vérifiez le chemin vers MySQL dans votre explorateur, ce devrait être à peu près C:\Program Files\MySQL\MySQL Server 5.6\bin (le "bin" est important, c'est là que se trouvent les programmes clients).
Exécutez la commande suivante dans l'invite de commande :
set PATH=%PATH%;chemin_vers_mysql_bin
Exemple
set PATH=%PATH%;C:\"Program Files"\MySQL\"MySQL Server 5.6"\bin
Attention aux guillemets autour des parties de chemin qui comportent un espace !
Vous pouvez désormais passer à la partie "Connexion à MySQL".
Mac OS
Téléchargez l'archive DMG qui vous convient (32 ou 64 bits), double-cliquez ensuite sur ce .dmg pour ouvrir l'image disque.
Vous devriez y trouver 4 fichiers dont deux .pkg. Celui qui nous intéresse s'appelle mysql-5.5.9-osx10.6-x86_64.pkg (les chiffres peuvent changer selon la version de MySQL téléchargée et votre ordinateur). Ouvrez ce fichier qui est en fait l'installateur de MySQL, et suivez les instructions.
Une fois le programme installé, vous pouvez ouvrir votre terminal (pour rappel, il se trouve dans Applications -> Utilitaires).
Tapez les commandes et exécutez les instructions suivantes :
cd /usr/local/mysql sudo ./bin/mysqld_safe
Entrez votre mot de passe si nécessaire
Tapez Ctrl + Z
bg
Tapez Ctrl + D
Quittez le terminal
MySQL est prêt à être utilisé ! Vous pouvez également regarder ce site pour installer MySQL.
Configuration
Par défaut, aucun mot de passe n'est demandé pour se connecter, même avec l'utilisateur root (qui a tous les droits). Je vous propose donc de définir un mot de passe pour cet utilisateur :
/usr/local/mysql/bin/mysqladmin -u root password votre_mot_de_passe
Ensuite, pour pouvoir accéder directement au logiciel client depuis la console sans devoir aller dans le dossier où est installé le client, il vous faut ajouter ce dossier à votre variable d'environnement PATH. Pour cela, tapez la commande suivante dans le terminal :
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.profile
/usr/local/mysql/bin
est donc le dossier dans lequel se trouve le logiciel client (plusieurs logiciels clients, en fait). Redémarrez votre terminal pour que le changement prenne effet.
Linux
Sous Debian ou Ubuntu
Exécutez la commande suivante pour installer MySQL :
sudo apt-get install mysql-server mysql-client
Une fois votre mot de passe introduit, MySQL va être installé.
Sous RedHat
Exécutez la commande suivante pour installer MySQL :
sudo yum install mysql mysql-server
Une fois votre mot de passe introduit, MySQL va être installé.
Dans tous les cas, après installation
Pensez ensuite à modifier le mot de passe de l'utilisateur root (administrateur ayant tous les droits) avec la commande suivante :
sudo mysqladmin -u root -h localhost password votre_mot_de_passe
Connexion à MySQL
Je vous ai dit que MySQL était basé sur un modèle client-serveur, comme la plupart des SGBD. Cela implique donc que votre base de données se trouve sur un serveur auquel vous n'avez pas accès directement, il faut passer par un client qui fera la liaison entre vous et le serveur.
Lorsque vous installez MySQL, plusieurs choses sont donc installées sur votre ordinateur :
un serveur de base de données MySQL ;
plusieurs logiciels clients qui permettent d'interagir avec le serveur.
Connexion au client
Parmi ces clients, celui dont nous allons parler à présent est mysql (original comme nom ). C'est celui que vous utiliserez tout au long de ce cours pour vous connecter à votre base de données et y insérer, consulter et modifier des données. La commande pour lancer le client est tout simplement son nom :
mysql
Cependant, cela ne suffit pas. Il vous faut également préciser un certain nombre de paramètres. Le client mysql a besoin d'au minimum trois paramètres :
l'hôte : c'est-à-dire l'endroit où est localisé le serveur ;
le nom d'utilisateur ;
et le mot de passe de l'utilisateur.
L'hôte et l'utilisateur ont des valeurs par défaut, et ne sont donc pas toujours indispensables. La valeur par défaut de l'hôte est "localhost", ce qui signifie que le serveur est sur le même ordinateur que le client. C'est bien notre cas, donc nous n'aurons pas à préciser ce paramètre. Pour le nom d'utilisateur, la valeur par défaut dépend de votre système. Sous Windows, l'utilisateur courant est "ODBC", tandis que pour les systèmes Unix (Mac et Linux), il s'agit de votre nom d'utilisateur (le nom qui apparaît dans l'invite de commande).
Pour votre première connexion à MySQL, il faudra vous connecter avec l'utilisateur root, pour lequel vous avez normalement défini un mot de passe (si vous ne l'avez pas fait, inutile d'utiliser ce paramètre, mais ce n'est pas très sécurisé). Par la suite, nous créerons un nouvel utilisateur.
Pour chacun des trois paramètres, deux syntaxes sont possibles :
######## # Hôte # ######## --hote=nom_hote # ou -h nom_hote ######## # User # ######## --user=nom_utilisateur # ou -u nom_utilisateur ################ # Mot de passe # ################ --password=password # ou -ppassword
Remarquez l'absence d'espace entre -p et le mot de passe. C'est voulu (mais uniquement pour ce paramètre-là), et souvent source d'erreurs.
La commande complète pour se connecter est donc :
mysql -h localhost -u root -pmotdepassetopsecret # ou mysql --host=localhost --user=root --password=motdepassetopsecret # ou un mélange des paramètres courts et longs si ça vous amuse mysql -h localhost --user=root -pmotdepassetopsecret
J'utiliserai uniquement les paramètres courts à partir de maintenant. Choisissez ce qui vous convient le mieux.
Notez que, pour le mot de passe, il est possible (et c'est même très conseillé) de préciser uniquement que vous utilisez le paramètre, sans lui donner de valeur :
mysql -h localhost -u root -p
Apparaissent alors dans la console les mots suivants :
Enter password:
Tapez donc votre mot de passe, et là, vous pouvez constater que les lettres que vous tapez ne s'affichent pas. C'est normal, cessez donc de martyriser votre clavier, il n'y peut rien, le pauvre . Cela permet simplement de cacher votre mot de passe à d'éventuels curieux qui regarderaient par-dessus votre épaule.
Donc pour résumer, pour me connecter à mysql, je tape la commande suivante :
mysql -u root -p
J'ai omis l'hôte, puisque mon serveur est sur mon ordinateur. Je n'ai plus qu'à taper mon mot de passe et je suis connecté.
Déconnexion
Pour se déconnecter du client, il suffit d'utiliser la commande quit ou exit.
Syntaxe SQL et premières commandes
Maintenant que vous savez vous connecter, vous allez enfin pouvoir discuter avec le serveur MySQL (en langage SQL évidemment). Donc, reconnectez-vous si vous êtes déconnecté.
Vous pouvez constater que vous êtes connecté grâce au joli (quoiqu'un peu formel) message de bienvenue, ainsi qu'au changement de l'invite de commande. On voit maintenant mysql>
.
"Hello World !"
Traditionnellement, lorsque l'on apprend un langage informatique, la première chose que l'on fait, c'est afficher le célèbre message "Hello World !". Pour ne pas déroger à la règle, je vous propose de taper la commande suivante (sans oublier le ; à la fin) :
SELECT 'Hello World !';
SELECT
est la commande qui permet la sélection de données, mais aussi l'affichage. Vous devriez donc voir s'afficher "Hello World !".
Hello World ! |
---|
Hello World ! |
Comme vous le voyez, "Hello World !" s'affiche en réalité deux fois. C'est parce que MySQL représente les données sous forme de table. Il affiche donc une table avec une colonne, qu'il appelle "Hello World !", faute de meilleure information. Et dans cette table, nous avons une ligne de données, le "Hello World !" que nous avons demandé.
Syntaxe
Avant d'aller plus loin, voici quelques règles générales à retenir concernant le SQL qui, comme tout langage informatique, obéit à des règles syntaxiques très strictes.
Fin d'une instruction
Pour signifier à MySQL qu'une instruction est terminée, il faut mettre le caractère ;. Tant qu'il ne rencontre pas ce caractère, le client MySQL pense que vous n'avez pas fini d'écrire votre commande et attend gentiment que vous continuiez.
Par exemple, la commande suivante devrait afficher 100. Mais tant que MySQL ne recevra pas de ; , il attendra simplement la suite.
SELECT 100
En appuyant sur la touche Entrée , vous passez à la ligne suivante, mais la commande ne s'effectue pas. Remarquez au passage le changement dans l'invite de commande. mysql>
signifie que vous allez entrer une commande, tandis que ->
signifie que vous allez entrer la suite d'une commande commencée précédemment.
Tapez maintenant ; , puis appuyez sur Entrée. Ça y est, la commande est envoyée, l'affichage se fait !
Ce caractère de fin d'instruction obligatoire va vous permettre :
d'écrire une instruction sur plusieurs lignes ;
d'écrire plusieurs instructions sur une seule ligne.
Commentaires
Les commentaires sont des parties de code qui ne sont pas interprétées. Ils servent principalement à vous repérer dans votre code. En SQL, les commentaires sont introduits par -- (deux tirets). Cependant, MySQL déroge un peu à la règle SQL et accepte deux syntaxes :
# : tout ce qui suit ce caractère sera considéré comme commentaire.
-- : la syntaxe normale est acceptée uniquement si les deux tirets sont suivis d'une espace au moins.
Afin de suivre au maximum la norme SQL, ce sont les -- qui seront utilisés tout au long de ce tutoriel.
Chaînes de caractères
Lorsque vous écrivez une chaîne de caractères dans une commande SQL, il faut absolument l'entourer de guillemets simples (donc des apostrophes).
Exemple : la commande suivante sert à afficher "Bonjour petit Zéro !".
SELECT 'Bonjour petit Zéro !';
Par ailleurs, si vous désirez utiliser un caractère spécial dans une chaîne, il vous faudra l'échapper avec \. Par exemple, si vous entourez votre chaîne de caractères de guillemets simples, mais voulez utiliser un tel guillemet à l'intérieur de votre chaîne :
SELECT 'Salut l'ami'; -- Pas bien !
SELECT 'Salut l\'ami'; -- Bien !
Quelques autres caractères spéciaux :
\n | retour à la ligne |
\t | tabulation |
\\ | antislash (eh oui, il faut échapper le caractère d'échappement…) |
% | pourcent (vous verrez pourquoi plus tard) |
_ | souligné (vous verrez pourquoi plus tard aussi) |
Notez que, pour échapper un guillemet simple (et uniquement ce caractère), vous pouvez également l'écrire deux fois. Cette façon d'échapper les guillemets correspond d'ailleurs à la norme SQL. Je vous encourage par conséquent à essayer de l'utiliser au maximum.
SELECT 'Salut l'ami'; -- ne fonctionne pas !
SELECT 'Salut l\'ami'; -- fonctionne !
SELECT 'Salut l''ami'; -- fonctionne aussi et correspond à la norme !
Un peu de math
MySQL est également doué en calcul :
SELECT (5+3)*2;
Pas de guillemets, cette fois, puisqu'il s'agit de nombres. MySQL calcule pour nous et nous affiche le résultat.
(5+3)*2 |
---|
16 |
MySQL est sensible à la priorité des opérations, comme vous pourrez le constater en tapant cette commande :
SELECT (5+3)*2, 5+3*2;
Résultat :
(5+3)*2 | 5+3*2 |
---|---|
16 | 11 |
Utilisateur
Il n'est pas très conseillé de travailler en tant que "root" dans MySQL, à moins d'en avoir spécifiquement besoin. En effet, "root" a tous les droits. Ce qui signifie que vous pouvez faire n'importe quelle bêtise dans n'importe quelle base de données pendant que j'ai le dos tourné. Pour éviter cela, nous allons créer un nouvel utilisateur qui aura des droits très restreints. Je l’appellerai "student", mais libre à vous de lui donner le nom que vous préférez. Pour ceux qui sont sous Unix, notez que, si vous créez un utilisateur du même nom que votre utilisateur Unix, vous pourrez dès lors omettre ce paramètre lors de votre connexion à mysql.
Je vous demande ici de me suivre aveuglément, car je ne vous donnerai que très peu d'explications. En effet, la gestion des droits et des utilisateurs fera l'objet d'un autre chapitre. Nous verrons donc uniquement comment créer un utilisateur n'ayant accès qu'à une seule base de données. Tapez donc ces commandes dans mysql, en remplaçant student par le nom d'utilisateur que vous avez choisi, et mot_de_passe par le mot de passe que vous voulez lui attribuer :
CREATE USER 'student'@'localhost' IDENTIFIED BY 'mot_de_passe';
GRANT ALL PRIVILEGES ON elevage.* TO 'student'@'localhost';
Je décortique donc rapidement :
CREATE USER 'student'
: cette commande crée l'utilisateur student.@'localhost'
: définit à partir d'où l'utilisateur peut se connecter. Dans notre cas, 'localhost', donc il devra être connecté à partir de cet ordinateur.IDENTIFIED BY 'mot_de_passe'
: définit le mot de passe de l'utilisateur.GRANT ALL PRIVILEGES
: cette commande permet d'attribuer tous les droits (c'est-à-dire insertions de données, sélections, modifications, suppressions…).ON elevage.*
: définit les bases de données et les tables sur lesquelles ces droits sont acquis. Donc ici, on donne les droits sur la base "elevage" (qui n'existe pas encore, mais ce n'est pas grave, nous la créerons plus tard), pour toutes les tables de cette base (grâce à *).TO 'student'@'localhost'
: définit l'utilisateur (et son hôte) auquel on accorde ces droits.
Pour vous connecter à mysql avec ce nouvel utilisateur, il faut donc taper la commande suivante (après s'être déconnecté, bien sûr) :
mysql -u student -p
Le raccourci "MySQL Command Line" de Windows
Lorsque l'on installe MySQL sur Windows, un utilitaire "MySQL 5.6 Command Line Client" est installé automatiquement. Il s'agit en fait simplement d'un raccourci vers l'invite de commande, avec des options configurées pour démarrer mysql directement.
Pour voir ces options, faites un clic droit sur cet utilitaire, et cliquez sur "Propriétés".
Dans le champ "Cible", on peut voir la configuration suivante (dépend de la version de MySQL que vous avez installée) :
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" "--default-file=C:\Program Files\MySQL\MySQL Server 5.6\my.ini" "-uroot" "-p".
Cet utilitaire :
démarre le programme client mysql ;
lui passe le fichier my.ini, qui est un fichier de configuration par défaut ;
avec le user "root" ;
en demandant le mot de passe.
Vous pouvez donc passer par cet utilitaire pour vous connecter en un clic à MySQL. Pour changer d'utilisateur, modifiez la partie "-uroot" dans le champ "Cible", et remplacez root par votre utilisateur.
Encodage, jeux de caractères et interclassement
La table ASCII
Le processeur d'un ordinateur, c'est-à-dire le composant qui s'occupe de traiter les informations, exécuter les programmes, etc., ne comprend que les instructions formulées en binaire ; il ne peut que lire une suite d’éléments pouvant être dans deux états : 0 ou 1.
Donc tous les programmes informatiques que vous pourriez écrire, toutes les instructions SQL, tous les fichiers, sont in fine traduits en code machine, donc en une longue suite de 0 et de 1, pour pouvoir être lus ou exécutés. Chacun de ces 0 ou 1 est un bit. Ces bits sont regroupés par huit pour former un octet.
L'ordinateur ne connaît donc pas la notion de caractères. Il ne sait pas ce qu'est un "A", ou un "è". Il a donc fallu créer une table de conversion pour traduire les caractères de la langue courante en une série de bits. La table ASCII était née !
La table ASCII est donc une table de conversion, qui permet de traduire en code binaire 128 caractères, dont 33 caractères de contrôle (séparateur de fichier, saut de page...) et 95 caractères affichables. Les caractères affichables sont les 26 lettres de l'alphabet, en majuscules et en minuscules, les 10 chiffres arabes et toute une série de caractères spéciaux courants (#, ;, ), <...).
De combien de bits avons-nous besoin pour stocker ces 128 caractères ?
Chaque bit peut prendre deux valeurs différentes. Donc avec 1 bit, je peux représenter 2 caractères. Avec 2 bits, je représente 22, donc 4 caractères. Et . J'ai donc besoin de 7 bits pour pouvoir représenter toute ma table ASCII.
L'ordinateur travaillant sur des octets, on code donc la table ASCII sur un octet, avec le 8e bit à 0. "00110100" représente par exemple le caractère "4", "01001101" le caractère "M" (le premier bit étant celui de droite, le 8e celui de gauche).
Jeux de caractères
On s'est ensuite rendu compte que ces 128 caractères n'étaient pas suffisants. En effet, ils ne comprennent pas les caractères accentués ("é", "à"). Ils ne comprennent pas non plus tous les caractères cyrilliques, japonais, etc.
On a alors commencé à utiliser le huitième bit. Ce qui permettait de représenter 128 caractères supplémentaires (donc = 256 en tout).
Mais avec 128 caractères supplémentaires, on n'a pas de quoi représenter tous les caractères qui n'existent pas dans la table ASCII. On a donc créé plusieurs jeux de caractères différents.
Exemples :
L'ISO 8859-1 (ou latin1) : permet de couvrir une bonne partie des langues d'Europe occidentale en ajoutant les lettres accentuées aux caractères ASCII de base ("å", "é", "ô", "ñ"...).
L'ISO 8859-7 : permet de représenter les lettres grecques.
L'ISO 8859-11 : contient une bonne partie des glyphes de la langue thaïe.
L'ISO 8859-15 : est une révision de l'ISO 8859-1, et remplace quelques caractères peu utilisés par d'autres, plus nécessaires, comme l'euro ("€").
Dès lors, lorsque l'on crée un fichier, un programme ou autre, il faut préciser quel jeu de caractères (ou encodage) est utilisé.
L'UTF-8
Il restait un petit problème : comment faire des documents (ou autres) qui doivent utiliser plusieurs jeux de caractères différents ? On a donc créé un nouveau type d'encodage, permettant de représenter les caractères avec deux octets au lieu d'un. 16 bits donnent = 65536 possibilités. On peut donc, en utilisant deux octets, représenter plus de 65000 caractères. Cet encodage s'appelle l'UTF-8.
Le désavantage d'un tel encodage est évidemment le coût en mémoire, deux octets prenant plus de place qu'un. Cependant, tous les caractères ne sont pas codés sur deux octets. S'il s'agit d'un caractère de base de la table ASCII, le 8e bit est à 0, ce qui indique qu'il n'est codé que sur un octet. Par contre, lorsque le 8e bit est à 1, cela indique que l'on a affaire à un caractère spécial et qu'il est codé sur deux octets.
Donc, en UTF-8, un "é" prendra plus de place qu'un "e" (deux octets au lieu d'un).
En quoi cela nous concerne-t-il ?
Je vous l'ai dit, il est nécessaire, pour tout fichier/programme/..., de préciser l'encodage utilisé. Je vous propose de choisir l'UTF-8.
À chaque connexion à MySQL, exécutez donc la commande suivante :
SET NAMES 'utf8';
Cette commande définit l'UTF-8 comme l'encodage dans lequel les requêtes sont émises par le client, ainsi que celui utilisé par le serveur pour communiquer avec le client.
Lors de la création de notre base de données dans un prochain chapitre, nous définirons également son encodage.
Il est également possible d'ajouter une option lors de la connexion, pour éviter de devoir exécuterSET NAMES
. En vous connectant de la manière suivante, l'encodage sera défini à UTF-8 directement à la connexion :
mysql -u student -p --default-character-set=utf8
Si vous travaillez sous Windows, il est fort possible qu'un utilitaire "MySQL Command Line Client - Unicode" ait été installé en même temps que l'utilitaire "MySQL Command Line Client". Celui-ci ajoute cette option d'encodage automatiquement. Je rappelle que vous pouvez changer la configuration de cet utilitaire via ses propriétés (en particulier, via le champ "Cible").
Interclassement
L'interclassement est un ensemble de règles qui vient s'ajouter à l'encodage. Pour chaque jeu de caractères, plusieurs interclassements peuvent exister, qui définissent deux choses :
l'ordre des caractères : par exemple, l'ordre alphabétique. Lorsque l'on trie les données avec MySQL, le tri sera basé sur l'interclassement ;
les équivalences de caractères : on peut par exemple définir que les majuscules sont équivalentes aux minuscules (interclassement insensible à la casse). De sorte que si l'on recherche les données qui contiennent "a", on trouve également celles qui contiennent "A".
Je vous propose de garder l'interclassement par défaut (qui est insensible à la casse).
En résumé
MySQL peut s'utiliser en ligne de commande ou avec une interface graphique.
Pour se connecter à MySQL en ligne de commande, on utilise : mysql -u utilisateur [-h hôte] -p.
Pour terminer une instruction SQL, on utilise le caractère ;.
En SQL, les chaînes de caractères doivent être entourées de guillemets simples '.
Lorsque l'on se connecte à MySQL, il faut définir l'encodage utilisé, soit directement dans la connexion avec l'option--default-character-set, soit avec la commande
SET NAMES
.