How to adjust display settings of mysql command line?

前端 未结 5 1752
被撕碎了的回忆
被撕碎了的回忆 2021-01-30 08:57

Command Line of mysql is not displaying results properly. I mean some columns of table are in 1st line some in 2nd line. Output is also broken into two rows. How do I adjust the

相关标签:
5条回答
  • 2021-01-30 09:25

    Another option, which I was looking for and finally found, is the MySQL string function LEFT().

    • LEFT(str,len)

    Returns the leftmost len characters from the string str, or NULL if any argument is NULL.

    For example ...

    mysql> SELECT
        ->   `bib`,
        ->   `name_id` AS `Print`,
        ->   `code`,
        ->   `name_en` AS `EN`,
        ->   `name_fr` AS `FR`,
        ->   `name_de` AS `DE`,
        ->   `Id`
        -> FROM `iso639_Language`
        -> WHERE `Id` LIKE 'in%'
        -> ORDER BY `bib`;
    +-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
    | bib | Print                                                      | code | EN                                                         | FR                                             | DE               | Id  |
    +-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
    | ina | Interlingua (International Auxiliary Language Association) | ia   | Interlingua (International Auxiliary Language Association) | interlingua (langue auxiliaire internationale) | Interlingua      | ina |
    | ind | Indonesian                                                 | id   | Indonesian                                                 | indonésien                                     | Bahasa Indonesia | ind |
    | inh | Ingush                                                     | NULL | Ingush                                                     | ingouche                                       | Inguschisch      | inh |
    +-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
    3 rows in set (0.01 sec)
    

    ... becomes ...

    mysql> SELECT
        ->   `bib`,
        ->   LEFT(`name_id`,15) AS `Print`,
        ->   `code`,
        ->   LEFT(`name_en`,10) AS `EN`,
        ->   LEFT(`name_fr`,10) AS `FR`,
        ->   LEFT(`name_de`,10) AS `DE`,
        ->   `Id`
        -> FROM `iso639_Language`
        -> WHERE `Id` LIKE 'in%'
        -> ORDER BY `bib`;
    +-----+-----------------+------+------------+-------------+------------+-----+
    | bib | Print           | code | EN         | FR          | DE         | Id  |
    +-----+-----------------+------+------------+-------------+------------+-----+
    | ina | Interlingua (In | ia   | Interlingu | interlingu  | Interlingu | ina |
    | ind | Indonesian      | id   | Indonesian | indonésien  | Bahasa Ind | ind |
    | inh | Ingush          | NULL | Ingush     | ingouche    | Inguschisc | inh |
    +-----+-----------------+------+------------+-------------+------------+-----+
    3 rows in set (0.00 sec)
    

    I do like the \G and pager less -Sin options, and use them. Often, however, I need the results in a normal fashion. With the pager option I loose the ability to reference, visually, the previous results, as the output is displayed by the selected program, externally to MySQL, and is no longer displayed when that program is closed. With the \G option I can easily compare the data of each record as a whole, but comparing records, such as viewing the column looking for patterns, or discrepancies, is not so easy.

    What I used to do was remove some of the columns until the results fit in the window, and rerun the queries with other columns removed, and developed a "view" of the table in my mind. (Not a good place to keep tables.) I seldom need to view the entire column, however, when using MySQL in the terminal, and selectively reducing an excessively long column from a query can be done by editing the last command to insert LEFT() around the offending column, and I'm back to doing what I needed to do, with little distraction or lost time.

    0 讨论(0)
  • 2021-01-30 09:27

    In Microsoft Windows mysql Command Prompt, Right-click on the prompt boarder and select Properties, now select the Layout tab and change the Window Size width or screen buffer width to a more suitable view. That should fix the problem. enter image description here

    0 讨论(0)
  • 2021-01-30 09:29

    To set the scrolling automatically add this to your my.cnf file in the [client] section like this:

    [client]
    pager = less -n -i -S
    
    0 讨论(0)
  • 2021-01-30 09:37

    mostly this happens when the row it fetches is too long. try playing with your terminal to have scroll bar and you could even reduce fonts.

    The mysql option is

    mysql> pager less -n -i -S
    
    0 讨论(0)
  • 2021-01-30 09:44

    You can use the \G command (instead of the ;) at the end of your SQL queries...

    Example:

    SELECT * FROM USER \G
    

    It will display your table in row form instead of column form.

    0 讨论(0)
提交回复
热议问题