J'exécute une requête SELECT sur une table dans MySQL en utilisant l'interface de ligne de commande (pas un client GUI):
SELECT * FROM blog_entry;
L'un des champs de blog_entry est de type 'texte long' et est un si long morceau de texte que lorsque le résultat est affiché dans mon terminal, l'affichage des lignes prend plus d'une ligne. Cela provoque un désordre laid d'un affichage, où les colonnes ne sont pas facilement visibles. Quelle technique puis-je utiliser dans ma requête SELECT qui limiterait le nombre de caractères affichés pour chaque champ afin que les résultats des lignes imprimées ne débordent pas vers de nouvelles lignes?
Veuillez me faire savoir si vous avez besoin d'éclaircissements - je serai réactif
Utilisez la fonction SUBSTRING
de MySQL, comme décrit dans la documentation . Comme:
SELECT SUBSTRING(`text`, 1, 100) FROM blog_entry;
Pour sélectionner les 100 premiers caractères.
Vous pouvez utiliser la fonction LEFT()
pour obtenir uniquement les premiers caractères:
SELECT LEFT(LongField, 20) AS LongField_First20chars
FROM ...
La meilleure façon de nettoyer la lisibilité des résultats d'une requête dans votre fenêtre de terminal est d'utiliser le pager mysql, sans modifier votre requête car cela peut être trop lourd.
Réglez le pager:
mysql> pager less -S
Faites votre requête:
mysql> SELECT * FROM ...
Cela mettra vos résultats dans un format plus lisible. Vous pouvez utiliser vos touches fléchées pour parcourir les pages de haut en bas et de gauche et de droite pour voir le tableau complet. Appuyez simplement sur Q
pour quitter le mode pager pour cette requête, puis exécutez simplement
mysql> pager more
pour revenir à la rivière de sortie normale si vous le souhaitez.
Select Cast(theLongTextField As VarChar(100)) From blogEntry