mysql est le client qui permet de se connecter à une base de données MySQL.
Les principales commandes sont :
help (\h) Display this help.
? (\?) Synonym for `help'.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
print (\p) Print current command.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute a SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
Ces commandes n’ont pas besoin de se terminer avec un " ;". Par contre les requêtes SQL, celles de création de bases, de tables, ... doivent se terminer par " ;"
Ex :
mysql> status
mysql Ver 11.18 Distrib 3.23.54, for redhat-linux-gnu (i386)
Connection id: 8
Current database:
Current user: claude@localhost
Current pager: stdout
Using outfile: ''
Server version: 3.23.54
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 27 min 13 sec
Threads: 1 Questions: 15 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 0 Queries per second avg: 0.009
Un utilisateur anonyme peut créer une base si elle commence par le préfixe test_. Ex :
mysql> create database test_clients;
Query OK, 1 row affected (0.00 sec)
ou supprimer la base :
mysql> drop database test_clients;
Query OK, 1 row affected (0.00 sec)
Sinon il faut être root ou avoir les droits d’administration de la base.
Pour afficher la liste des bases :
mysql> show databases;
+------------+
| Database |
+------------+
| clients |
| dd |
| egroupware |
| irm |
| irmfr |
| mysql |
| spip |
| test |
+------------+
8 rows in set (0.00 sec)
Pour choisir une base :
mysql> use test
Database changed
Sur Linux/Unix, l’historique des commandes est stocké dans le fichier .mysql_history, dans le home directory.
Il est possible de mettre les requêtes SQL dans un fichier texte et de dire à mysql de lire ce fichier et d’appliquer les requêtes. Ex :
shell> mysql db_name < text_file
shell> mysql < text_file
Si on est déjà dans mysql :
mysql> source filename;
mysql> \. filename