Le but de cette partie n'est évidemment pas de référencer toutes les fonctions existantes. De même, les fonctions présentées
seront décrites avec des exemples, mais nous ne verrons pas les petits cas particuliers, les exceptions, ni les éventuels
comportements étranges et imprévisibles. Pour ça, la doc est, et restera, votre meilleur compagnon. Le but ici est de vous montrer
un certain nombre de fonctions que, selon mon expérience, je juge utile que vous connaissiez. Par conséquent, et on ne le
répétera jamais assez, n'hésitez pas à faire un tour sur la documentation officielle de MySQL si vous ne trouvez pas votre
bonheur parmi les fonctions citées ici.
Informations sur l'environnement actuel
Version de MySQL
La fonction classique parmi les classiques : VERSION() vous permettra de savoir sous quelle version de MySQL tourne votre
serveur.
Code : SQL
SELECT VERSION();
VERSION()
5.5.16
Où suis-je ? Qui suis-je ?
Vous avez créé plusieurs utilisateurs différents pour gérer votre base de données, et présentement vous ne savez plus avec
lequel vous êtes connectés ? Pas de panique, il existe les fonctions CURRENT_USER() et USER(). Ces deux fonctions ne font
pas exactement la même chose. Par conséquent, il n'est pas impossible qu'elles vous renvoient deux résultats différents.
CURRENT_USER() : renvoie l'utilisateur (et l'hôte) qui a été utilisé lors de l'identification au serveur ;
USER() : renvoie l'utilisateur (et l'hôte) qui a été spécifié lors de l'identification au serveur.
Mais comment cela pourrait-il être différent ? Tout simplement, parce que si vous vous connectez avec un utilisateur qui n'a
aucun droit (droits que l'on donne avec la commande GRANT, mais nous verrons ça dans une prochaine partie), vous arriverez à
vous connecter, mais le serveur vous identifiera avec un "utilisateur anonyme". USER() vous renverra alors votre utilisateur
sans droit, tandis que CURRENT_USER() vous donnera l'utilisateur anonyme.
Dans notre cas, l’utilisateur "sdz" (ou n'importe quel user que vous avez créé) ayant des droits, les deux fonctions renverront
exactement la même chose.
Code : SQL
SELECT CURRENT_USER(), USER();
CURRENT_USER()
USER()
sdz@localhost
sdz@localhost
Informations sur la dernière requête
Dernier ID généré par auto-incrémentation
Dans une base de données relationnelle, il arrive très souvent que vous deviez insérer plusieurs lignes en une fois dans la base
de données, et que certaines de ces nouvelles lignes doivent contenir une référence à d'autres nouvelles lignes. Par exemple,
Partie 3 : Fonctions : nombres, chaînes et agrégats
156/414
www.openclassrooms.com
seront décrites avec des exemples, mais nous ne verrons pas les petits cas particuliers, les exceptions, ni les éventuels
comportements étranges et imprévisibles. Pour ça, la doc est, et restera, votre meilleur compagnon. Le but ici est de vous montrer
un certain nombre de fonctions que, selon mon expérience, je juge utile que vous connaissiez. Par conséquent, et on ne le
répétera jamais assez, n'hésitez pas à faire un tour sur la documentation officielle de MySQL si vous ne trouvez pas votre
bonheur parmi les fonctions citées ici.
Informations sur l'environnement actuel
Version de MySQL
La fonction classique parmi les classiques : VERSION() vous permettra de savoir sous quelle version de MySQL tourne votre
serveur.
Code : SQL
SELECT VERSION();
VERSION()
5.5.16
Où suis-je ? Qui suis-je ?
Vous avez créé plusieurs utilisateurs différents pour gérer votre base de données, et présentement vous ne savez plus avec
lequel vous êtes connectés ? Pas de panique, il existe les fonctions CURRENT_USER() et USER(). Ces deux fonctions ne font
pas exactement la même chose. Par conséquent, il n'est pas impossible qu'elles vous renvoient deux résultats différents.
CURRENT_USER() : renvoie l'utilisateur (et l'hôte) qui a été utilisé lors de l'identification au serveur ;
USER() : renvoie l'utilisateur (et l'hôte) qui a été spécifié lors de l'identification au serveur.
Mais comment cela pourrait-il être différent ? Tout simplement, parce que si vous vous connectez avec un utilisateur qui n'a
aucun droit (droits que l'on donne avec la commande GRANT, mais nous verrons ça dans une prochaine partie), vous arriverez à
vous connecter, mais le serveur vous identifiera avec un "utilisateur anonyme". USER() vous renverra alors votre utilisateur
sans droit, tandis que CURRENT_USER() vous donnera l'utilisateur anonyme.
Dans notre cas, l’utilisateur "sdz" (ou n'importe quel user que vous avez créé) ayant des droits, les deux fonctions renverront
exactement la même chose.
Code : SQL
SELECT CURRENT_USER(), USER();
CURRENT_USER()
USER()
sdz@localhost
sdz@localhost
Informations sur la dernière requête
Dernier ID généré par auto-incrémentation
Dans une base de données relationnelle, il arrive très souvent que vous deviez insérer plusieurs lignes en une fois dans la base
de données, et que certaines de ces nouvelles lignes doivent contenir une référence à d'autres nouvelles lignes. Par exemple,
Partie 3 : Fonctions : nombres, chaînes et agrégats
156/414
www.openclassrooms.com
