Mysql - Commandes et scripts d'administration de bases de données

🏷️ Lignes des commandes 📅 30/03/2026 20:00:00 👤 Mezgani said
Bd Mysql Mysqladmin Mysqldump Mysqlimport Mysqlcheck Mysqld Mysqlbinlog Shell Admin Mysql Client Mysql

Maîtrisez MySQL pour administrer vos bases de données. Commandes CLI, scripting d'automatisation et gestion des bases de données.

Ligne de commande :
mysql
Description :

Client MySQL en ligne de commande

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --database
  • -D
  • --execute
  • -e
  • --batch
  • -B
  • --skip-column-names
  • -N
  • --raw
  • -r
  • --silent
  • -s
  • --verbose
  • -v
  • --html
  • -H
  • --xml
  • -X
  • --table
  • -t
  • --line-numbers
  • -L
  • --column-names
  • --column-type-info
  • --comments
  • -c
  • --compress
  • -C
  • --protocol
  • --ssl
  • --ssl-ca
  • --ssl-cert
  • --ssl-key
  • --default-character-set
  • --delimiter
  • --help
  • -?
  • --version
  • -V

Ligne de commande :
mysql -u root -p
Description :

Se connecte à MySQL en tant que root

Options :
  • -h
  • --host
  • -P
  • --port
  • -D
  • --database

Ligne de commande :
mysql -u root -p -h localhost -P 3306
Description :

Connexion avec hôte et port spécifiques

Options :
  • -h
  • -P

Ligne de commande :
mysql -u root -p -D ma_base
Description :

Se connecte directement à une base de données

Options :
  • -D
  • --database

Ligne de commande :
mysql -u root -p -e "SHOW DATABASES"
Description :

Exécute une commande SQL sans entrer dans le client

Options :
  • -e
  • --execute

Ligne de commande :
mysql -u root -p < script.sql
Description :

Exécute un fichier SQL

Ligne de commande :
mysql -u root -p -B -e "SELECT * FROM users" > output.txt
Description :

Exporte les résultats en mode batch

Options :
  • -B
  • --batch
  • -N
  • --skip-column-names

Ligne de commande :
mysql -u root -p --html -e "SELECT * FROM users"
Description :

Affiche les résultats au format HTML

Options :
  • --html
  • -H

Ligne de commande :
mysql -u root -p --xml -e "SELECT * FROM users"
Description :

Affiche les résultats au format XML

Options :
  • --xml
  • -X

Ligne de commande :
mysqladmin
Description :

Outil d'administration MySQL

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --verbose
  • -v
  • --silent
  • -s
  • --help
  • --version

Ligne de commande :
mysqladmin -u root -p status
Description :

Affiche le statut du serveur MySQL

Options :
  • -h
  • -P

Ligne de commande :
mysqladmin -u root -p create ma_base
Description :

Crée une base de données

Ligne de commande :
mysqladmin -u root -p drop ma_base
Description :

Supprime une base de données

Options :
  • -f
  • --force

Ligne de commande :
mysqladmin -u root -p password 'nouveau_mot_de_passe'
Description :

Change le mot de passe root

Ligne de commande :
mysqladmin -u root -p ping
Description :

Vérifie si le serveur MySQL est en ligne

Ligne de commande :
mysqladmin -u root -p processlist
Description :

Affiche les processus MySQL en cours

Options :
  • -i
  • --sleep

Ligne de commande :
mysqladmin -u root -p shutdown
Description :

Arrête le serveur MySQL

Ligne de commande :
mysqladmin -u root -p variables
Description :

Affiche les variables de configuration

Ligne de commande :
mysqladmin -u root -p extended-status
Description :

Affiche les statistiques étendues

Options :
  • -r
  • --relative
  • -i
  • --sleep

Ligne de commande :
mysqladmin -u root -p flush-privileges
Description :

Recharge les privilèges

Ligne de commande :
mysqladmin -u root -p flush-hosts
Description :

Vide le cache des hôtes

Ligne de commande :
mysqladmin -u root -p flush-logs
Description :

Vide les logs

Ligne de commande :
mysqladmin -u root -p flush-status
Description :

Réinitialise les variables de statut

Ligne de commande :
mysqladmin -u root -p flush-tables
Description :

Vide le cache des tables

Ligne de commande :
mysqladmin -u root -p flush-threads
Description :

Vide le cache des threads

Ligne de commande :
mysqladmin -u root -p refresh
Description :

Vide les tables et rouvre les logs

Ligne de commande :
mysqladmin -u root -p kill id_processus
Description :

Tue un processus MySQL

Ligne de commande :
mysqladmin -u root -p version
Description :

Affiche la version du serveur

Ligne de commande :
mysqldump
Description :

Sauvegarde une base de données MySQL

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --all-databases
  • -A
  • --databases
  • -B
  • --no-data
  • -d
  • --no-create-info
  • -t
  • --routines
  • -R
  • --triggers
  • --events
  • -E
  • --add-drop-database
  • --add-drop-table
  • --add-drop-trigger
  • --add-locks
  • --allow-keywords
  • --complete-insert
  • -c
  • --compress
  • -C
  • --create-options
  • --default-character-set
  • --disable-keys
  • -K
  • --extended-insert
  • -e
  • --fields-terminated-by
  • --fields-enclosed-by
  • --fields-optionally-enclosed-by
  • --fields-escaped-by
  • --flush-logs
  • -F
  • --flush-privileges
  • --force
  • -f
  • --hex-blob
  • --ignore-table
  • --insert-ignore
  • --lock-all-tables
  • -x
  • --lock-tables
  • -l
  • --log-error
  • --master-data
  • --max-allowed-packet
  • --net-buffer-length
  • --no-autocommit
  • --no-create-db
  • -n
  • --no-set-names
  • -N
  • --opt
  • --order-by-primary
  • --port
  • -P
  • --protocol
  • --quick
  • -q
  • --quote-names
  • -Q
  • --replace
  • --result-file
  • -r
  • --routines
  • -R
  • --set-charset
  • --single-transaction
  • --skip-add-drop-table
  • --skip-add-locks
  • --skip-comments
  • --skip-compact
  • --skip-disable-keys
  • --skip-extended-insert
  • --skip-opt
  • --skip-quick
  • --skip-quote-names
  • --skip-set-charset
  • --skip-triggers
  • --skip-tz-utc
  • --tab
  • -T
  • --tables
  • --triggers
  • --tz-utc
  • --verbose
  • -v
  • --version
  • -V
  • --where
  • -w
  • --xml
  • -X

Ligne de commande :
mysqldump -u root -p ma_base > sauvegarde.sql
Description :

Sauvegarde une base de données

Options :
  • --routines
  • -R
  • --triggers

Ligne de commande :
mysqldump -u root -p --all-databases > toutes_bases.sql
Description :

Sauvegarde toutes les bases de données

Options :
  • -A
  • --all-databases

Ligne de commande :
mysqldump -u root -p --databases base1 base2 > sauvegarde.sql
Description :

Sauvegarde plusieurs bases spécifiques

Options :
  • -B
  • --databases

Ligne de commande :
mysqldump -u root -p --no-data ma_base > structure.sql
Description :

Sauvegarde uniquement la structure (sans données)

Options :
  • -d
  • --no-data

Ligne de commande :
mysqldump -u root -p --no-create-info ma_base > donnees.sql
Description :

Sauvegarde uniquement les données (sans structure)

Options :
  • -t
  • --no-create-info

Ligne de commande :
mysqldump -u root -p --single-transaction ma_base > sauvegarde.sql
Description :

Sauvegarde cohérente sans verrouiller les tables (InnoDB)

Options :
  • --single-transaction

Ligne de commande :
mysqldump -u root -p --routines --triggers ma_base > sauvegarde_complete.sql
Description :

Sauvegarde avec procédures stockées et triggers

Options :
  • -R
  • --routines
  • --triggers

Ligne de commande :
mysqldump -u root -p --where="id > 100" ma_base users > users_partial.sql
Description :

Sauvegarde avec condition WHERE

Options :
  • -w
  • --where

Ligne de commande :
mysqldump -u root -p --ignore-table=ma_base.logs ma_base > sauvegarde.sql
Description :

Sauvegarde en ignorant certaines tables

Options :
  • --ignore-table

Ligne de commande :
mysqldump -u root -p --tab=/chemin/export ma_base
Description :

Exporte les tables en fichiers séparés (CSV)

Options :
  • -T
  • --tab
  • --fields-terminated-by
  • --fields-enclosed-by

Ligne de commande :
mysqlimport
Description :

Importe des fichiers CSV dans une base

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --local
  • -L
  • --delete
  • -d
  • --force
  • -f
  • --ignore
  • -i
  • --replace
  • -r
  • --fields-terminated-by
  • --fields-enclosed-by
  • --fields-optionally-enclosed-by
  • --fields-escaped-by
  • --lines-terminated-by
  • --ignore-lines
  • --columns
  • --compress
  • -C
  • --default-character-set
  • --lock-tables
  • -l
  • --low-priority
  • --verbose
  • -v
  • --version
  • -V
  • --help
  • -?

Ligne de commande :
mysqlimport -u root -p --local ma_base /chemin/users.csv
Description :

Importe un fichier CSV dans une table

Options :
  • --local
  • -L
  • --fields-terminated-by
  • --lines-terminated-by

Ligne de commande :
mysqlimport -u root -p --delete ma_base users.csv
Description :

Vide la table avant import

Options :
  • -d
  • --delete

Ligne de commande :
mysqlimport -u root -p --ignore ma_base users.csv
Description :

Ignore les lignes en double

Options :
  • -i
  • --ignore

Ligne de commande :
mysqlimport -u root -p --replace ma_base users.csv
Description :

Remplace les lignes en double

Options :
  • -r
  • --replace

Ligne de commande :
mysqlcheck
Description :

Vérifie, répare et optimise les tables

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --all-databases
  • -A
  • --databases
  • -B
  • --analyze
  • -a
  • --auto-repair
  • --check
  • -c
  • --check-only-changed
  • -C
  • --extended
  • -e
  • --fast
  • -F
  • --force
  • -f
  • --medium-check
  • -m
  • --optimize
  • -o
  • --quick
  • -q
  • --repair
  • -r
  • --skip-database
  • --tables
  • --use-frm
  • --verbose
  • -v
  • --version
  • -V
  • --write-binlog
  • --help
  • -?

Ligne de commande :
mysqlcheck -u root -p --all-databases
Description :

Vérifie toutes les bases de données

Options :
  • -A
  • --all-databases

Ligne de commande :
mysqlcheck -u root -p --check ma_base
Description :

Vérifie une base de données

Options :
  • -c
  • --check

Ligne de commande :
mysqlcheck -u root -p --analyze ma_base
Description :

Analyse les tables pour optimiser les index

Options :
  • -a
  • --analyze

Ligne de commande :
mysqlcheck -u root -p --optimize ma_base
Description :

Optimise les tables

Options :
  • -o
  • --optimize

Ligne de commande :
mysqlcheck -u root -p --repair ma_base
Description :

Répare les tables corrompues

Options :
  • -r
  • --repair

Ligne de commande :
mysqlcheck -u root -p --auto-repair ma_base
Description :

Répare automatiquement si nécessaire

Options :
  • --auto-repair

Ligne de commande :
mysqld
Description :

Démon serveur MySQL

Options :
  • --basedir
  • --datadir
  • --port
  • -P
  • --socket
  • --pid-file
  • --log-error
  • --general-log
  • --general-log-file
  • --slow-query-log
  • --slow-query-log-file
  • --long-query-time
  • --bind-address
  • --skip-networking
  • --skip-grant-tables
  • --skip-name-resolve
  • --default-storage-engine
  • --character-set-server
  • --collation-server
  • --max-connections
  • --max-allowed-packet
  • --innodb-buffer-pool-size
  • --innodb-log-file-size
  • --innodb-flush-method
  • --innodb-file-per-table
  • --query-cache-size
  • --query-cache-type
  • --thread-cache-size
  • --table-open-cache
  • --tmp-table-size
  • --max-heap-table-size
  • --wait-timeout
  • --interactive-timeout
  • --connect-timeout
  • --console
  • --help
  • --verbose
  • -v
  • --version
  • -V

Ligne de commande :
mysqld --initialize
Description :

Initialise le répertoire de données MySQL

Options :
  • --user
  • --basedir
  • --datadir
  • --initialize-insecure

Ligne de commande :
mysqld --initialize-insecure
Description :

Initialise sans mot de passe root

Options :
  • --user
  • --basedir
  • --datadir

Ligne de commande :
mysqld --console
Description :

Lance le serveur avec logs dans la console

Options :
  • --console

Ligne de commande :
mysqld_safe
Description :

Script de démarrage sécurisé pour MySQL

Options :
  • --defaults-file
  • --ledir
  • --malloc-lib
  • --nice
  • --no-defaults
  • --open-files-limit
  • --pid-file
  • --plugin-dir
  • --port
  • --skip-kill-mysqld
  • --socket
  • --syslog
  • --skip-syslog
  • --timezone
  • --user
  • --version

Ligne de commande :
mysql_secure_installation
Description :

Sécurise l'installation MySQL (définit mot de passe root, supprime utilisateurs anonymes, etc.)

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --use-default
  • --defaults-file

Ligne de commande :
mysql_config
Description :

Affiche les options de compilation de MySQL

Options :
  • --cflags
  • --include
  • --libs
  • --libs_r
  • --plugindir
  • --port
  • --socket
  • --version
  • --variable

Ligne de commande :
mysqlshow
Description :

Affiche les bases de données et tables

Options :
  • --host
  • -h
  • --port
  • -P
  • --user
  • -u
  • --password
  • -p
  • --count
  • -k
  • --status
  • -i
  • --verbose
  • -v
  • --help

Ligne de commande :
mysqlshow -u root -p
Description :

Liste toutes les bases de données

Options :
  • -v
  • --verbose

Ligne de commande :
mysqlshow -u root -p ma_base
Description :

Liste les tables d'une base

Options :
  • --count
  • -k

Ligne de commande :
mysqlshow -u root -p ma_base users
Description :

Affiche les colonnes d'une table

Options :
  • --status
  • -i

Ligne de commande :
mysqlbinlog
Description :

Lit les fichiers de logs binaires

Options :
  • --base64-output
  • --bind-address
  • --character-sets-dir
  • --database
  • -d
  • --debug
  • --disable-log-bin
  • -D
  • --force-if-open
  • -F
  • --force-read
  • -f
  • --hexdump
  • -H
  • --host
  • -h
  • --local-load
  • -l
  • --offset
  • -o
  • --password
  • -p
  • --port
  • -P
  • --protocol
  • --read-from-remote-server
  • -R
  • --result-file
  • -r
  • --rewrite-db
  • --server-id
  • --set-charset
  • --short-form
  • -s
  • --socket
  • -S
  • --start-datetime
  • --start-position
  • -j
  • --stop-datetime
  • --stop-never
  • --stop-never-slave-server-id
  • --stop-position
  • --stop-when-heartbeat
  • --table
  • -t
  • --to-last-log
  • -t
  • --user
  • -u
  • --verbose
  • -v
  • --verify-binlog-checksum
  • -c
  • --version
  • -V

Ligne de commande :
mysqlbinlog binlog.000001
Description :

Lit un fichier de log binaire

Options :
  • --start-datetime
  • --stop-datetime
  • --start-position
  • --stop-position

Ligne de commande :
mysqlbinlog --start-datetime="2024-01-01 00:00:00" binlog.000001
Description :

Lit à partir d'une date spécifique

Options :
  • --start-datetime

Ligne de commande :
mysqlbinlog --database=ma_base binlog.000001
Description :

Filtre par base de données

Options :
  • -d
  • --database

Ligne de commande :
mysqlbinlog -R -h serveur -u user -p binlog.000001
Description :

Lit un log binaire distant

Options :
  • -R
  • --read-from-remote-server

Ligne de commande :
mysqlbinlog --verbose binlog.000001
Description :

Affiche les événements en pseudo-SQL

Options :
  • -v
  • --verbose
  • -vv

Ligne de commande :
mysqlbinlog --hexdump binlog.000001
Description :

Affiche un dump hexadécimal

Options :
  • -H
  • --hexdump

Ligne de commande :
mysqlbinlog --result-file=output.sql binlog.000001
Description :

Sauvegarde le résultat dans un fichier

Options :
  • -r
  • --result-file

Ligne de commande :
mysqldumpslow
Description :

Analyse le log des requêtes lentes

Options :
  • -a
  • --verbose
  • -v
  • --debug
  • -d
  • --help
  • -h
  • --host
  • -s
  • --order
  • -t
  • --limit
  • -n
  • --pattern

Ligne de commande :
mysqldumpslow -s t /var/log/mysql/slow.log
Description :

Trie par temps d'exécution

Options :
  • -s
  • --sort

Ligne de commande :
mysqldumpslow -t 10 /var/log/mysql/slow.log
Description :

Affiche les 10 requêtes les plus lentes

Options :
  • -t
  • --top

Ligne de commande :
mysqldumpslow -a "SELECT * FROM users" /var/log/mysql/slow.log
Description :

Ne pas abstraire les valeurs

Options :
  • -a

Ligne de commande :
perror
Description :

Affiche la description d'un code d'erreur MySQL

Options :
  • --help
  • --info
  • --ndb
  • --silent
  • --verbose
  • --version

Ligne de commande :
perror 1062
Description :

Affiche la signification de l'erreur 1062 (Duplicate entry)

Ligne de commande :
SHOW DATABASES
Description :

[SQL] Affiche toutes les bases de données

Options :
  • LIKE

Ligne de commande :
CREATE DATABASE ma_base
Description :

[SQL] Crée une base de données

Options :
  • CHARACTER SET
  • COLLATE
  • IF NOT EXISTS

Ligne de commande :
CREATE DATABASE IF NOT EXISTS ma_base CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
Description :

[SQL] Crée une base avec encodage UTF-8 complet

Ligne de commande :
DROP DATABASE ma_base
Description :

[SQL] Supprime une base de données

Options :
  • IF EXISTS

Ligne de commande :
USE ma_base
Description :

[SQL] Sélectionne une base de données

Ligne de commande :
SHOW TABLES
Description :

[SQL] Affiche les tables de la base courante

Options :
  • FROM
  • LIKE

Ligne de commande :
SHOW TABLES FROM ma_base
Description :

[SQL] Affiche les tables d'une base spécifique

Options :
  • LIKE

Ligne de commande :
CREATE TABLE users
Description :

[SQL] Crée une table

Options :
  • IF NOT EXISTS
  • ENGINE
  • AUTO_INCREMENT
  • DEFAULT CHARSET
  • COLLATE
  • COMMENT
  • ROW_FORMAT
  • TABLESPACE
  • STORAGE
  • PARTITION BY

Ligne de commande :
CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100), email VARCHAR(255) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB
Description :

[SQL] Exemple complet de création de table

Ligne de commande :
DESCRIBE users
Description :

[SQL] Affiche la structure d'une table

Ligne de commande :
DESC users
Description :

[SQL] Alias de DESCRIBE

Ligne de commande :
SHOW COLUMNS FROM users
Description :

[SQL] Affiche les colonnes d'une table

Options :
  • FROM
  • LIKE
  • WHERE

Ligne de commande :
SHOW CREATE TABLE users
Description :

[SQL] Affiche la commande CREATE TABLE complète

Ligne de commande :
ALTER TABLE users ADD COLUMN age INT
Description :

[SQL] Ajoute une colonne

Options :
  • AFTER
  • FIRST

Ligne de commande :
ALTER TABLE users MODIFY COLUMN name VARCHAR(200) NOT NULL
Description :

[SQL] Modifie une colonne

Ligne de commande :
ALTER TABLE users CHANGE COLUMN name full_name VARCHAR(100)
Description :

[SQL] Renomme une colonne

Ligne de commande :
ALTER TABLE users DROP COLUMN age
Description :

[SQL] Supprime une colonne

Ligne de commande :
ALTER TABLE users ADD INDEX idx_email (email)
Description :

[SQL] Ajoute un index

Options :
  • UNIQUE
  • FULLTEXT
  • SPATIAL

Ligne de commande :
ALTER TABLE users DROP INDEX idx_email
Description :

[SQL] Supprime un index

Ligne de commande :
ALTER TABLE users ADD PRIMARY KEY (id)
Description :

[SQL] Ajoute une clé primaire

Ligne de commande :
ALTER TABLE users DROP PRIMARY KEY
Description :

[SQL] Supprime la clé primaire

Ligne de commande :
ALTER TABLE users ADD FOREIGN KEY (role_id) REFERENCES roles(id)
Description :

[SQL] Ajoute une clé étrangère

Options :
  • ON DELETE
  • ON UPDATE

Ligne de commande :
ALTER TABLE users DROP FOREIGN KEY fk_users_role
Description :

[SQL] Supprime une clé étrangère

Ligne de commande :
ALTER TABLE users RENAME TO clients
Description :

[SQL] Renomme une table

Ligne de commande :
RENAME TABLE users TO clients
Description :

[SQL] Renomme une table (syntaxe alternative)

Ligne de commande :
TRUNCATE TABLE users
Description :

[SQL] Vide une table (réinitialise AUTO_INCREMENT)

Ligne de commande :
DROP TABLE users
Description :

[SQL] Supprime une table

Options :
  • IF EXISTS
  • RESTRICT
  • CASCADE

Ligne de commande :
INSERT INTO users (name, email) VALUES ('John', 'john@example.com')
Description :

[SQL] Insère une ligne

Options :
  • IGNORE
  • ON DUPLICATE KEY UPDATE
  • DELAYED
  • LOW_PRIORITY
  • HIGH_PRIORITY

Ligne de commande :
INSERT INTO users (name, email) VALUES ('John', 'john@example.com'), ('Jane', 'jane@example.com')
Description :

[SQL] Insère plusieurs lignes

Ligne de commande :
INSERT INTO users SET name='John', email='john@example.com'
Description :

[SQL] Insère avec syntaxe SET

Ligne de commande :
INSERT IGNORE INTO users (name, email) VALUES ('John', 'john@example.com')
Description :

[SQL] Ignore les erreurs de duplication

Ligne de commande :
INSERT INTO users (name, email) VALUES ('John', 'john@example.com') ON DUPLICATE KEY UPDATE name='John Updated'
Description :

[SQL] Met à jour si la clé existe déjà

Ligne de commande :
REPLACE INTO users (id, name, email) VALUES (1, 'John', 'john@example.com')
Description :

[SQL] Insère ou remplace si la clé existe

Ligne de commande :
SELECT * FROM users
Description :

[SQL] Sélectionne toutes les colonnes

Options :
  • DISTINCT
  • ALL
  • HIGH_PRIORITY
  • STRAIGHT_JOIN
  • SQL_SMALL_RESULT
  • SQL_BIG_RESULT
  • SQL_BUFFER_RESULT
  • SQL_NO_CACHE
  • SQL_CALC_FOUND_ROWS

Ligne de commande :
SELECT id, name, email FROM users
Description :

[SQL] Sélectionne des colonnes spécifiques

Options :
  • AS

Ligne de commande :
SELECT * FROM users WHERE id = 1
Description :

[SQL] Filtre avec WHERE

Options :
  • AND
  • OR
  • NOT
  • IN
  • BETWEEN
  • LIKE
  • REGEXP
  • IS NULL
  • IS NOT NULL
  • EXISTS

Ligne de commande :
SELECT * FROM users WHERE name LIKE 'J%'
Description :

[SQL] Recherche avec LIKE

Options :
  • %
  • _

Ligne de commande :
SELECT * FROM users WHERE id IN (1, 2, 3)
Description :

[SQL] Filtre avec IN

Options :
  • NOT IN

Ligne de commande :
SELECT * FROM users WHERE created_at BETWEEN '2024-01-01' AND '2024-12-31'
Description :

[SQL] Filtre avec BETWEEN

Ligne de commande :
SELECT * FROM users ORDER BY name ASC
Description :

[SQL] Trie les résultats

Options :
  • ASC
  • DESC
  • COLLATE
  • USING

Ligne de commande :
SELECT * FROM users ORDER BY created_at DESC, name ASC
Description :

[SQL] Trie sur plusieurs colonnes

Ligne de commande :
SELECT * FROM users LIMIT 10
Description :

[SQL] Limite le nombre de résultats

Options :
  • OFFSET

Ligne de commande :
SELECT * FROM users LIMIT 10 OFFSET 20
Description :

[SQL] Pagination (lignes 21 à 30)

Ligne de commande :
SELECT * FROM users LIMIT 20, 10
Description :

[SQL] Syntaxe alternative (offset, limit)

Ligne de commande :
SELECT COUNT(*) FROM users
Description :

[SQL] Compte le nombre de lignes

Ligne de commande :
SELECT AVG(age), MIN(age), MAX(age), SUM(salary) FROM users
Description :

[SQL] Fonctions d'agrégation

Options :
  • GROUP_CONCAT
  • STD
  • STDDEV
  • VARIANCE
  • BIT_AND
  • BIT_OR
  • BIT_XOR

Ligne de commande :
SELECT role, COUNT(*) FROM users GROUP BY role
Description :

[SQL] Regroupe les résultats

Options :
  • WITH ROLLUP

Ligne de commande :
SELECT role, COUNT(*) FROM users GROUP BY role HAVING COUNT(*) > 5
Description :

[SQL] Filtre après GROUP BY

Ligne de commande :
SELECT u.name, o.total FROM users u INNER JOIN orders o ON u.id = o.user_id
Description :

[SQL] Jointure interne

Options :
  • LEFT JOIN
  • RIGHT JOIN
  • CROSS JOIN
  • NATURAL JOIN
  • STRAIGHT_JOIN

Ligne de commande :
SELECT u.name, o.total FROM users u LEFT JOIN orders o ON u.id = o.user_id
Description :

[SQL] Jointure externe gauche

Ligne de commande :
SELECT * FROM users UNION SELECT * FROM archived_users
Description :

[SQL] Union de requêtes

Options :
  • UNION ALL
  • UNION DISTINCT

Ligne de commande :
SELECT * FROM users WHERE id = (SELECT MAX(id) FROM users)
Description :

[SQL] Sous-requête

Ligne de commande :
SELECT * FROM users WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id)
Description :

[SQL] Sous-requête avec EXISTS

Options :
  • NOT EXISTS

Ligne de commande :
UPDATE users SET email = 'new@example.com' WHERE id = 1
Description :

[SQL] Met à jour des lignes

Options :
  • IGNORE
  • LOW_PRIORITY
  • ORDER BY
  • LIMIT

Ligne de commande :
UPDATE users SET age = age + 1
Description :

[SQL] Met à jour avec expression

Ligne de commande :
DELETE FROM users WHERE id = 1
Description :

[SQL] Supprime des lignes

Options :
  • IGNORE
  • LOW_PRIORITY
  • QUICK
  • ORDER BY
  • LIMIT

Ligne de commande :
CREATE INDEX idx_name ON users(name)
Description :

[SQL] Crée un index

Options :
  • UNIQUE
  • FULLTEXT
  • SPATIAL
  • BTREE
  • HASH
  • COMMENT
  • VISIBLE
  • INVISIBLE

Ligne de commande :
CREATE UNIQUE INDEX idx_email ON users(email)
Description :

[SQL] Crée un index unique

Ligne de commande :
CREATE FULLTEXT INDEX idx_content ON articles(title, body)
Description :

[SQL] Crée un index full-text

Options :
  • WITH PARSER

Ligne de commande :
DROP INDEX idx_name ON users
Description :

[SQL] Supprime un index

Options :
  • ALGORITHM
  • LOCK

Ligne de commande :
SHOW INDEX FROM users
Description :

[SQL] Affiche les index d'une table

Options :
  • WHERE

Ligne de commande :
CREATE VIEW user_emails AS SELECT id, email FROM users
Description :

[SQL] Crée une vue

Options :
  • OR REPLACE
  • ALGORITHM
  • DEFINER
  • SQL SECURITY
  • WITH CHECK OPTION

Ligne de commande :
DROP VIEW user_emails
Description :

[SQL] Supprime une vue

Options :
  • IF EXISTS
  • RESTRICT
  • CASCADE

Ligne de commande :
SHOW CREATE VIEW user_emails
Description :

[SQL] Affiche la définition d'une vue

Ligne de commande :
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'
Description :

[SQL] Crée un utilisateur

Options :
  • IDENTIFIED WITH
  • PASSWORD EXPIRE
  • ACCOUNT LOCK
  • ACCOUNT UNLOCK
  • DEFAULT ROLE
  • REQUIRE
  • WITH

Ligne de commande :
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'
Description :

[SQL] Crée un utilisateur accessible de partout

Ligne de commande :
DROP USER 'newuser'@'localhost'
Description :

[SQL] Supprime un utilisateur

Options :
  • IF EXISTS

Ligne de commande :
RENAME USER 'olduser'@'localhost' TO 'newuser'@'localhost'
Description :

[SQL] Renomme un utilisateur

Ligne de commande :
SET PASSWORD FOR 'user'@'localhost' = 'newpassword'
Description :

[SQL] Change le mot de passe d'un utilisateur

Ligne de commande :
ALTER USER 'user'@'localhost' IDENTIFIED BY 'newpassword'
Description :

[SQL] Change le mot de passe (syntaxe moderne)

Ligne de commande :
GRANT ALL PRIVILEGES ON ma_base.* TO 'user'@'localhost'
Description :

[SQL] Donne tous les privilèges sur une base

Options :
  • WITH GRANT OPTION
  • IDENTIFIED BY

Ligne de commande :
GRANT SELECT, INSERT, UPDATE ON ma_base.users TO 'user'@'localhost'
Description :

[SQL] Donne des privilèges spécifiques

Options :
  • DELETE
  • CREATE
  • DROP
  • ALTER
  • INDEX
  • EXECUTE
  • TRIGGER
  • REFERENCES
  • CREATE VIEW
  • SHOW VIEW
  • CREATE ROUTINE
  • ALTER ROUTINE
  • EVENT
  • FILE
  • PROCESS
  • RELOAD
  • REPLICATION CLIENT
  • REPLICATION SLAVE
  • SHOW DATABASES
  • SHUTDOWN
  • SUPER
  • USAGE

Ligne de commande :
REVOKE ALL PRIVILEGES ON ma_base.* FROM 'user'@'localhost'
Description :

[SQL] Révoque tous les privilèges

Options :
  • GRANT OPTION FOR

Ligne de commande :
REVOKE INSERT, UPDATE ON ma_base.users FROM 'user'@'localhost'
Description :

[SQL] Révoque des privilèges spécifiques

Ligne de commande :
SHOW GRANTS FOR 'user'@'localhost'
Description :

[SQL] Affiche les privilèges d'un utilisateur

Ligne de commande :
SHOW GRANTS
Description :

[SQL] Affiche les privilèges de l'utilisateur courant

Ligne de commande :
FLUSH PRIVILEGES
Description :

[SQL] Recharge les tables de privilèges

Ligne de commande :
BEGIN
Description :

[SQL] Démarre une transaction

Options :
  • WORK

Ligne de commande :
START TRANSACTION
Description :

[SQL] Démarre une transaction (syntaxe étendue)

Options :
  • READ ONLY
  • READ WRITE
  • WITH CONSISTENT SNAPSHOT

Ligne de commande :
COMMIT
Description :

[SQL] Valide une transaction

Options :
  • WORK
  • AND CHAIN
  • RELEASE

Ligne de commande :
ROLLBACK
Description :

[SQL] Annule une transaction

Options :
  • WORK
  • AND CHAIN
  • RELEASE
  • TO SAVEPOINT

Ligne de commande :
SAVEPOINT sp1
Description :

[SQL] Crée un point de sauvegarde

Ligne de commande :
ROLLBACK TO SAVEPOINT sp1
Description :

[SQL] Revient à un point de sauvegarde

Ligne de commande :
RELEASE SAVEPOINT sp1
Description :

[SQL] Supprime un point de sauvegarde

Ligne de commande :
SET autocommit = 0
Description :

[SQL] Désactive l'autocommit

Ligne de commande :
LOCK TABLES users READ, orders WRITE
Description :

[SQL] Verrouille des tables

Options :
  • READ
  • WRITE
  • READ LOCAL
  • LOW_PRIORITY WRITE

Ligne de commande :
UNLOCK TABLES
Description :

[SQL] Déverrouille toutes les tables

Ligne de commande :
EXPLAIN SELECT * FROM users WHERE email = 'test@example.com'
Description :

[SQL] Analyse le plan d'exécution d'une requête

Options :
  • FORMAT
  • ANALYZE
  • VERBOSE
  • FOR CONNECTION

Ligne de commande :
EXPLAIN FORMAT=JSON SELECT * FROM users
Description :

[SQL] Plan d'exécution au format JSON

Options :
  • FORMAT=TRADITIONAL
  • FORMAT=TREE

Ligne de commande :
EXPLAIN ANALYZE SELECT * FROM users
Description :

[SQL] Exécute et analyse la requête

Ligne de commande :
SHOW PROCESSLIST
Description :

[SQL] Affiche les processus en cours

Options :
  • FULL

Ligne de commande :
KILL 123
Description :

[SQL] Tue un processus

Options :
  • CONNECTION
  • QUERY

Ligne de commande :
SHOW STATUS
Description :

[SQL] Affiche les statistiques du serveur

Options :
  • LIKE
  • GLOBAL
  • SESSION

Ligne de commande :
SHOW STATUS LIKE '%Threads%'
Description :

[SQL] Filtre les statistiques

Options :
  • LIKE

Ligne de commande :
SHOW VARIABLES
Description :

[SQL] Affiche les variables de configuration

Options :
  • LIKE
  • GLOBAL
  • SESSION

Ligne de commande :
SHOW VARIABLES LIKE 'max_connections'
Description :

[SQL] Affiche une variable spécifique

Options :
  • LIKE

Ligne de commande :
SET GLOBAL max_connections = 200
Description :

[SQL] Modifie une variable globale

Options :
  • GLOBAL
  • SESSION
  • PERSIST
  • PERSIST_ONLY

Ligne de commande :
SHOW ENGINE INNODB STATUS
Description :

[SQL] Affiche le statut détaillé d'InnoDB

Ligne de commande :
SHOW WARNINGS
Description :

[SQL] Affiche les avertissements de la dernière commande

Options :
  • LIMIT

Ligne de commande :
SHOW ERRORS
Description :

[SQL] Affiche les erreurs de la dernière commande

Options :
  • LIMIT

Ligne de commande :
SHOW BINARY LOGS
Description :

[SQL] Liste les logs binaires

Ligne de commande :
SHOW MASTER STATUS
Description :

[SQL] Affiche le statut du master

Ligne de commande :
SHOW SLAVE STATUS
Description :

[SQL] Affiche le statut du slave (réplication)

Options :
  • FOR CHANNEL

Ligne de commande :
SHOW TRIGGERS
Description :

[SQL] Liste les triggers

Options :
  • FROM
  • LIKE
  • WHERE

Ligne de commande :
CREATE TRIGGER before_user_insert BEFORE INSERT ON users FOR EACH ROW SET NEW.created_at = NOW()
Description :

[SQL] Crée un trigger

Options :
  • BEFORE
  • AFTER
  • INSERT
  • UPDATE
  • DELETE
  • FOLLOWS
  • PRECEDES

Ligne de commande :
DROP TRIGGER before_user_insert
Description :

[SQL] Supprime un trigger

Options :
  • IF EXISTS

Ligne de commande :
SHOW PROCEDURE STATUS
Description :

[SQL] Liste les procédures stockées

Options :
  • LIKE
  • WHERE

Ligne de commande :
SHOW FUNCTION STATUS
Description :

[SQL] Liste les fonctions

Options :
  • LIKE
  • WHERE

Ligne de commande :
DELIMITER //
Description :

[SQL] Change le délimiteur pour les procédures

Ligne de commande :
CREATE PROCEDURE get_users() BEGIN SELECT * FROM users; END //
Description :

[SQL] Crée une procédure stockée

Ligne de commande :
CALL get_users()
Description :

[SQL] Appelle une procédure stockée

Ligne de commande :
DROP PROCEDURE get_users
Description :

[SQL] Supprime une procédure

Options :
  • IF EXISTS

Ligne de commande :
CREATE FUNCTION calc_tax(price DECIMAL) RETURNS DECIMAL DETERMINISTIC RETURN price * 0.2
Description :

[SQL] Crée une fonction

Options :
  • DETERMINISTIC
  • NOT DETERMINISTIC
  • READS SQL DATA
  • MODIFIES SQL DATA
  • NO SQL
  • CONTAINS SQL

Ligne de commande :
DROP FUNCTION calc_tax
Description :

[SQL] Supprime une fonction

Options :
  • IF EXISTS

Ligne de commande :
SHOW EVENTS
Description :

[SQL] Liste les événements planifiés

Options :
  • FROM
  • LIKE
  • WHERE

Ligne de commande :
CREATE EVENT cleanup ON SCHEDULE EVERY 1 DAY DO DELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY
Description :

[SQL] Crée un événement planifié

Options :
  • ON SCHEDULE
  • ON COMPLETION
  • ENABLE
  • DISABLE
  • COMMENT

Ligne de commande :
ALTER EVENT cleanup DISABLE
Description :

[SQL] Désactive un événement

Options :
  • ENABLE
  • DISABLE
  • ON SCHEDULE
  • RENAME TO
  • COMMENT

Ligne de commande :
DROP EVENT cleanup
Description :

[SQL] Supprime un événement

Options :
  • IF EXISTS

Ligne de commande :
SHOW CREATE EVENT cleanup
Description :

[SQL] Affiche la définition d'un événement

Ligne de commande :
SHOW TABLE STATUS
Description :

[SQL] Affiche des informations détaillées sur les tables

Options :
  • FROM
  • LIKE
  • WHERE

Ligne de commande :
OPTIMIZE TABLE users
Description :

[SQL] Optimise une table

Options :
  • NO_WRITE_TO_BINLOG
  • LOCAL

Ligne de commande :
ANALYZE TABLE users
Description :

[SQL] Analyse et met à jour les statistiques d'index

Options :
  • NO_WRITE_TO_BINLOG
  • LOCAL

Ligne de commande :
CHECK TABLE users
Description :

[SQL] Vérifie une table pour les erreurs

Options :
  • FOR UPGRADE
  • QUICK
  • FAST
  • MEDIUM
  • EXTENDED
  • CHANGED

Ligne de commande :
REPAIR TABLE users
Description :

[SQL] Répare une table corrompue

Options :
  • QUICK
  • EXTENDED
  • USE_FRM

Ligne de commande :
CHECKSUM TABLE users
Description :

[SQL] Calcule la somme de contrôle d'une table

Options :
  • QUICK
  • EXTENDED

Ligne de commande :
BACKUP TABLE users TO '/backup/'
Description :

[SQL] Sauvegarde une table (déprécié, utiliser mysqldump)

Ligne de commande :
RESTORE TABLE users FROM '/backup/'
Description :

[SQL] Restaure une table (déprécié)

Ligne de commande :
LOAD DATA INFILE '/tmp/users.csv' INTO TABLE users FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS
Description :

[SQL] Importe des données depuis un fichier CSV

Options :
  • LOCAL
  • REPLACE
  • IGNORE
  • FIELDS TERMINATED BY
  • ENCLOSED BY
  • ESCAPED BY
  • LINES TERMINATED BY
  • STARTING BY
  • IGNORE ... LINES
  • SET

Ligne de commande :
LOAD DATA LOCAL INFILE 'users.csv' INTO TABLE users
Description :

[SQL] Importe un fichier local

Options :
  • LOCAL

Ligne de commande :
SELECT ... INTO OUTFILE '/tmp/users.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
Description :

[SQL] Exporte les résultats vers un fichier CSV

Options :
  • FIELDS TERMINATED BY
  • ENCLOSED BY
  • ESCAPED BY
  • LINES TERMINATED BY

Ligne de commande :
SELECT ... INTO DUMPFILE '/tmp/dump.sql'
Description :

[SQL] Écrit une seule ligne dans un fichier

Ligne de commande :
SELECT ... INTO @var1, @var2
Description :

[SQL] Stocke les résultats dans des variables

Ligne de commande :
SET @var = 123
Description :

[SQL] Définit une variable utilisateur

Ligne de commande :
SELECT @var
Description :

[SQL] Affiche une variable utilisateur

Ligne de commande :
PREPARE stmt FROM 'SELECT * FROM users WHERE id = ?'
Description :

[SQL] Prépare une requête

Ligne de commande :
SET @id = 1
Description :

[SQL] Définit une variable pour requête préparée

Ligne de commande :
EXECUTE stmt USING @id
Description :

[SQL] Exécute une requête préparée

Ligne de commande :
DEALLOCATE PREPARE stmt
Description :

[SQL] Libère une requête préparée

Ligne de commande :
SOURCE /chemin/script.sql
Description :

[SQL] Exécute un fichier SQL depuis le client mysql

Ligne de commande :
\. /chemin/script.sql
Description :

[SQL] Alias de SOURCE

Ligne de commande :
STATUS
Description :

[SQL] Affiche le statut de la connexion

Ligne de commande :
\s
Description :

[SQL] Alias de STATUS

Ligne de commande :
QUIT
Description :

[SQL] Quitte le client mysql

Ligne de commande :
\q
Description :

[SQL] Alias de QUIT

Ligne de commande :
EXIT
Description :

[SQL] Quitte le client mysql

Ligne de commande :
CLEAR
Description :

[SQL] Efface l'écran (commande système)

Ligne de commande :
\c
Description :

[SQL] Efface la requête en cours

Ligne de commande :
\G
Description :

[SQL] Affiche les résultats verticalement

Ligne de commande :
SELECT * FROM users \G
Description :

[SQL] Exemple d'affichage vertical

Ligne de commande :
\T output.txt
Description :

[SQL] Redirige la sortie vers un fichier

Ligne de commande :
\t
Description :

[SQL] Arrête la redirection de sortie

Ligne de commande :
\P less
Description :

[SQL] Utilise un pager pour les résultats

Ligne de commande :
\n
Description :

[SQL] Désactive le pager

Ligne de commande :
\e
Description :

[SQL] Ouvre l'éditeur pour écrire une requête

Ligne de commande :
\p
Description :

[SQL] Affiche la requête en cours

Ligne de commande :
\r
Description :

[SQL] Change le statut de la connexion (reconnect)

Ligne de commande :
\u ma_base
Description :

[SQL] Change de base de données

Ligne de commande :
\C utf8mb4
Description :

[SQL] Change le jeu de caractères

Ligne de commande :
\d
Description :

[SQL] Change le délimiteur

Ligne de commande :
\w
Description :

[SQL] Affiche les avertissements après chaque requête

Ligne de commande :
\W
Description :

[SQL] Désactive l'affichage des avertissements

Ligne de commande :
NOW()
Description :

[SQL] Fonction : date et heure courante

Ligne de commande :
CURDATE()
Description :

[SQL] Fonction : date courante

Ligne de commande :
CURTIME()
Description :

[SQL] Fonction : heure courante

Ligne de commande :
DATE_ADD(NOW(), INTERVAL 7 DAY)
Description :

[SQL] Fonction : ajoute un intervalle

Options :
  • INTERVAL
  • DAY
  • HOUR
  • MINUTE
  • SECOND
  • MONTH
  • YEAR

Ligne de commande :
DATEDIFF('2024-12-31', '2024-01-01')
Description :

[SQL] Fonction : différence en jours

Ligne de commande :
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
Description :

[SQL] Fonction : formate une date

Options :
  • %Y
  • %m
  • %d
  • %H
  • %i
  • %s
  • %W
  • %M

Ligne de commande :
CONCAT(first_name, ' ', last_name)
Description :

[SQL] Fonction : concatène des chaînes

Options :
  • CONCAT_WS

Ligne de commande :
SUBSTRING(name, 1, 10)
Description :

[SQL] Fonction : extrait une sous-chaîne

Options :
  • LEFT
  • RIGHT
  • MID

Ligne de commande :
LENGTH(name)
Description :

[SQL] Fonction : longueur en octets

Options :
  • CHAR_LENGTH
  • CHARACTER_LENGTH

Ligne de commande :
UPPER(name)
Description :

[SQL] Fonction : convertit en majuscules

Options :
  • LOWER
  • LCASE
  • UCASE

Ligne de commande :
TRIM(name)
Description :

[SQL] Fonction : supprime les espaces

Options :
  • LTRIM
  • RTRIM
  • BOTH
  • LEADING
  • TRAILING

Ligne de commande :
REPLACE(text, 'old', 'new')
Description :

[SQL] Fonction : remplace du texte

Ligne de commande :
IFNULL(colonne, 'default')
Description :

[SQL] Fonction : valeur par défaut si NULL

Options :
  • COALESCE
  • NULLIF
  • ISNULL