FAQ MySQLConsultez toutes les FAQ
Nombre d'auteurs : 15, nombre de questions : 155, dernière mise à jour : 22 avril 2014
Cette FAQ a été conçue à partir des questions fréquemment posées sur le forum MySQL de Developpez.com. Elle ne prétend pas à être exhaustive et peut contenir des erreurs occasionnelles. Si vous relevez une coquille, n'hésitez pas à nous le faire savoir.
Pour participer à cette FAQ, veuillez envoyer vos réponses sur le forum.
- 1. À propos de la FAQ (3)
-
2. Généralités sur MySQL
(7)
- Qu'est-ce que MySQL ?
- Sur quelles plates-formes fonctionne MySQL ?
- Dois-je payer une licence MySQL ?
- Quelles sont les versions de MySQL et leurs fonctionnalités ?
- Qu'est-ce qui est fourni avec MySQL ?
- Quels clients / outils d'administration graphiques sont disponibles pour MySQL ?
- Comment interfacer une application .NET avec MySQL ?
-
3. Fonctionnalités et compatibilité avec la norme SQL
(12)
- Est-ce que MySQL supporte les clés étrangères (intégrité référentielle) ?
- Est-ce que MySQL supporte les sous requêtes / requêtes imbriquées ?
- Est-ce que MySQL supporte les procédures stockées et triggers ?
- Dans quels langages peuvent être écrites les procédures stockées ?
- Est-ce que MySQL supporte les vues ?
- Est-ce que MySQL supporte les opérateurs EXCEPT, INTERSECT, UNION, MINUS ?
- Quels types de jointures sont supportés ?
- Comment pallier l'absence de requêtes imbriquées dans les versions < 4.1 ?
- J'ai une erreur de syntaxe SQL et pourtant ma requête est correcte selon la documentation. Comment faire ?
- Est-ce que NULL est égal à NULL ?
- MySQL fait-il la différence entre majuscules et minuscules ?
- MySQL gère-t-il le GROUP BY comme les autres SGBD ?
-
4. Syntaxe SQL et structure des données
(59)
-
4.1. Instructions SQL particulières
(17)
- Comment ne retourner que les X premières lignes renvoyées par une requête SQL ?
- Comment récupérer le dernier enregistrement inséré ?
- Comment utiliser l'instruction LIKE et les jokers ?
- Comment crypter les données d'une base MySQL ?
- Existe-t-il une syntaxe d'INSERT plus souple (comme un UPDATE) ?
- Comment trouver les doublons dans une table?
- Comment supprimer les enregistrements d'une table qui n'ont pas de correspondance dans une autre table?
- Dans une requête composée de plusieurs requêtes avec UNION, comment savoir de quelle table provient chaque ligne ?
- Comment afficher un enregistrement aléatoirement ?
- Comment trier les résultats d'une requête selon un champ de type chaîne de caractères, dans un autre ordre que l'ordre alphabétique ?
- Comment insérer dans une table le résultat d'une requête sur une autre table ?
- Comment vérifier qu'une valeur de colonne ne contient que des chiffres ?
- Peut-on numéroter les occurences retournées par une requête ?
- A quoi sert l'opérateur <=> ?
- Quelle est la différence entre les caractères ', ` et '' ?
- Qu'est-ce que GROUP_CONCAT et comment l'utiliser ?
- Quelles sont les différences de comportement entre CONCAT et CONCAT_WS ?
- 4.2. Jointures (2)
- 4.3. Dates (4)
-
4.4. Champs auto-incrémentés
(9)
- Comment fonctionne le système des clefs auto-incrémentées ?
- Que mettre comme valeur lors d'un INSERT ou d'un UPDATE sur un champ autoincrémenté ?
- Comment récupérer la dernière valeur d'un champ autoincrémenté ?
- Pourquoi les valeurs sont parfois réutilisées ?
- Est-il possible de préciser une valeur de départ ?
- Que se passe-t-il en cas de dépassement ?
- MySQL n'accepte pas ma définition de structure avec colonne auto-incrémenté.
- Comment remettre à zéro un auto-incrément ?
- Peut-on utiliser MAX(ID) + 1 pour alimenter une clé en auto_increment ?
- 4.5. Bases (1)
-
4.6. Tables
(13)
- Comment obtenir des renseignements sur une table (colonnes, index, contraintes...) ?
- Comment avoir la description d'une colonne (nom, taille, valeurs possibles d'un enum...) ?
- Comment connaitre le nombre de tables dans ma base ?
- Comment visualiser les tables d'une base de données ?
- Comment vérifier l'existence d'une table dans une base ?
- Comment spécifier qu'un objet (procédure, fonction, table, trigger, vue) doit être remplacé si il existe déjà ?
- Comment connaître le nombre de lignes dans une table ?
- Comment renommer une table ?
- Comment ajouter, supprimer ou modifier une colonne dans une table ?
- Comment ajouter une contrainte à une table ?
- Comment paramétrer la longueur des champs de type BLOB ou LONGTEXT en créant une table ?
- Comment consulter l'espace pris par une table ?
- Comment créer une nouvelle table dans une base de données?
- 4.7. Moteurs de stockage (4)
-
4.8. Valeurs maximum pour MySQL
(9)
- Quelle est la taille maximum d'une table ?
- Quelle est la taille maximum d'une requête ?
- Quel est le nombre maximum d'utilisateurs ?
- Quel est le nombre maximum de bases et de tables ?
- Quel est le nombre maximum de colonnes dans une table ?
- Quelle est la quantité maximum de données que je peux stocker dans une ligne ?
- Quel est le nombre maximum d'index pour une table ?
- Quel est le nombre maximum de champs dans un index ?
- Quelle est la longueur maximum d'un nom de table, index ou champ ?
-
4.1. Instructions SQL particulières
(17)
-
5. Transactions
(11)
- Qu'est-ce qu'une transaction ?
- Est-ce que MySQL supporte les transactions ?
- Comment fonctionnent les transactions ?
- Qu'est-ce que l'option autocommit ?
- Comment ouvrir une transaction ?
- Qu'est-ce qui provoque un COMMIT ou un ROLLBACK ?
- Une erreur dans une requête provoque-t-elle un ROLLBACK de la transaction ?
- Peut-on voir les résultats d'une transaction non encore validée ?
- Quels sont les niveaux d'isolation permis par MySQL ?
- Comment MySQL gère-t-il les interblocages (deadlocks) ?
- Comment utiliser InnoDB et les transactions dans les versions < 4.0 ?
- 6. SQL procédural (1)
-
7. Administration
(44)
-
7.1. Utilisateurs et privilèges
(13)
- Comment créer un compte utilisateur ?
- Les apostrophes sont-elles obligatoires autour du nom d'utilisateur et de son hôte ?
- Peut-on créer des comptes sans mot de passe ?
- Comment faire quand on a perdu le mot de passe root ?
- Comment modifier le mot de passe root ?
- Comment donner des droits à un utilisateur sur certaines tables/bases ?
- Quels sont les types de privilèges (droits) que l'on peut accorder aux utilisateurs ?
- Comment limiter les ressources de certains utilisateurs (trop gourmands) ?
- Peut-on autoriser des connexions anonymes ?
- Qu'est-ce que la base [I]mysql[/I] ?
- Qu'est-ce que la table [I]host[/I] de la base [I]mysql[/I]
- A quel moment les modifications de privilèges sont-elles appliquées aux utilisateurs ?
- Peut-on gérer les utilisateurs par groupes ou par rôles ?
-
7.2. Problèmes de connexion
(7)
- Pourquoi MySQL refuse la connexion alors que mon nom d'utilisateur et mon mot de passe sont bons ?
- Faut-il créer un compte pour chaque hôte possible d'un utilisateur ?
- Comment modifier l'hôte attaché à un nom d'utilisateur ?
- Comment voir les comptes utilisateurs ?
- Comment indiquer mon hôte lors de la connexion ?
- Si plusieurs comptes ont le même username, comment MySQL choisit-il ?
- Comment savoir sous quel compte vous êtes connecté ?
-
7.3. Migration, import et export de données
(7)
- Comment réaliser une migration d'un SGBD X vers MySQL ?
- Comment réaliser une migration de MySQL vers un SGBD X ?
- Comment importer un fichier de données ou des données depuis un tableur ?
- Comment exporter vers un fichier de données ?
- Comment exécuter un fichier d'instructions SQL ?
- Comment copier le contenu d'une base vers une autre ?
- Comment copier le contenu d'une table vers une autre ?
- 7.4. Sauvegarde et restauration (2)
- 7.5. Logs (4)
- 7.6. Tâches planifiées (1)
-
7.7. Performances
(10)
- Mes requêtes sont lentes, comment les optimiser sans modifier les paramètres serveur ?
- Quand mettre un index sur un champ ?
- Comment savoir si un index est utilisé ?
- Mes requêtes sont lentes, comment puis-je optimiser les performances du serveur ?
- Est-ce qu'il vaut mieux plusieurs petites tables ou une grosse ?
- Pourquoi MySQL utilise-t-il des caches et buffers ?
- En quelle unité les caches et buffers sont-ils définis ?
- Si je fixe un cache à 10Mo, est-ce que 10Mo seront en permanence dédiés à ce cache ?
- Comment obtenir la liste des caches disponibles et leurs valeurs ?
- Comment obtenir la liste des buffers disponibles et leurs valeurs ?
-
7.1. Utilisateurs et privilèges
(13)
-
8. Erreurs fréquentes
(5)
- 8.1. Erreurs de connexion (4)
- 8.2. PhpMyAdmin (1)
-
9. Les variables de MySQL
(6)
- Quels sont les types de variables de MySQL ?
- Quelle est la différence entre une variable GLOBAL et une variable SESSION ?
- Quelle est la syntaxe de SET ?
- Comment retrouver une variable système dont on ignore le nom exact ?
- Que sont les commandes préparées (prepared statements) ?
- Peut-on rendre variable un nom de table, de colonne, d'utilisateur ?
-
10. Divers
(7)
- Pourquoi certains caractères (accents / apostrophes) ne passent pas ?
- Qu'est-ce qu'une collation ?
- Insertion d'images dans un champ BLOB : pour et contre
- Existe-t-il une interface pour afficher des schémas et construire des requêtes graphiquement comme avec Access ?
- Qu'est-ce que les SQL_MODE ?
- Dans une table, comment les lignes sont-elles triées ?
- Comment échapper les backslashes sous PHP et MySQL ?
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.