Оглавление
- Как вывести данные без таблицы при сохранение результатов в файл
- Как вывести результаты без таблицы на экран
- Как вывести результаты в клиентах mariadb и mysql без таблицы
- Как настроить вывод результатов без таблицы по умолчанию
При работе с MySQL и MariaDB в командной строке результаты SQL-запросов с операторами SELECT и SHOW выводятся в очень наглядном виде: с помощью псевдографики создаются таблицы, в которых столбцы и строки разделены символами пробелов и другими вспомогательными символами.
Всё это кажется весьма удобным вплоть до того момента, если вам нужно скопировать выведенную на экран информацию, полученную в результате запроса к MySQL и MariaDB. В этот момент «вдруг» оказывается, что данные засорены ненужными вам символами «|», «-», «+» и пробелами.
И одномоментно то, что было весьма привлекательно на экране, оказывается совершенно непригодным для использования в дальнейшей работе, например, чтобы вставить в офисный документ (Word, Writer, Excel, Calc).
Рассмотрим различные методы как в клиентах MySQL и MariaDB сохранить результаты SQL-запросов без символов, формирующих таблицу.
1. Как вывести данные без таблицы при сохранение результатов в файл
Для выполнение SQL-запроса необязательно использовать интерактивные сессии — вы можете указать вашу команду после опции -e, например:
mariadb -u root -e 'SELECT test_column FROM TestDB.TestTABLE;'
Примечание: я использую в качестве имени исполнимого файла mariadb, поскольку у меня на тестовом компьютере установлена MariaDB. Если у вас установлена MySQL, то в этой и во всех последующих командах используйте вместо mariadb файл mysql. В настоящее время MariaDB также поддерживает псевдоним mysql. То есть если вы не уверены, какой вариант ПО у вас установлен, то вы можете использовать имя файла mysql как более универсальное. Значение имеет не ПО на сервере, к которому вы подключаетесь, а ПО установленное на компьютере, с которого вы запускаете клиент. Если все действия вы выполняете на одном компьютере и сервер СУБД запущен локально, то в этом случае версии клиента и сервера (MariaDB или MySQL) совпадают.
Как можно увидеть, команда сработала, но мы получили в выводе шапку таблицы и разные чёрточки, изображающие таблицу.
Но можно воспользоваться хитростью — если результат запроса сохранить в файл, то в нём будут сохранены только результат команды, без таблицы.
Для сохранения результатов запроса к MySQL и MariaDB в файл используйте следующую конструкцию:
mariadb -u root -e 'SQL-QUERY' -r -N > FILE
В этой команде:
- SQL-QUERY — ваш SQL-запрос
- FILE — путь до файла, в которой вы хотите сохранить результат
- Опция -r (длинный вариант названия —raw) — используется для того, чтобы поля записывали без преобразования (если не указать эту опцию, то, например, символы новой строки будут заменены на буквальные «\n»)
- Опция -N (длинный вариант названия —skip-column-names) необходима для того, чтобы не выводились названия столбцов
К примеру, следующая команда выполнит запрос к СУБД и сохранит результат в файл result.txt:
mariadb -u root -e 'SELECT test_column FROM TestDB.TestTABLE;' -r -N > result.txt
На мой взгляд, это весьма удобный способ, если вы можете работать с MySQL и MariaDB в неинтерактивном режиме.
2. Как вывести результаты без таблицы на экран
Для вывода результатов выполнения запроса к СУБД на экран без таблицы, добавьте опцию -s. Также используйте опцию -r, чтобы символы новой строки не заменялись на обозначения «\n». Если вы не хотите выводить названия столбцов, то добавьте опцию -N:
mariadb -u root -e 'SQL-QUERY' -r -s -N
Пример выполнения команды:
mariadb -u root -e 'SELECT test_column FROM TestDB.TestTABLE;' -r -s -N
3. Как вывести результаты в клиентах mariadb и mysql без таблицы
Рассмотрим случай, когда вы хотите получить чистые результаты без таблицы во время интерактивной сессии.
Для этого при подключении к MySQL или MariaDB серверу укажите для клиента три дополнительные опции: -s, -r и -N, например:
mariadb -u root -s -r -N
Теперь результаты будут выводиться без таблицы:
SELECT test_column FROM TestDB.TestTABLE;
4. Как настроить вывод результатов без таблицы по умолчанию
Все рассмотренные выше опции (как и любые другие) вы можете прописать в конфигурационном файле MySQL и MariaDB и при подключении к СУБД вам не нужно будет каждый раз вводить эти опции.
К примеру, сохраните в файл ~/.my.cnf следующие строки:
[client] skip_column_names silent raw
Смотрите также: Как определить расположение и имя конфигурационного файла MySQL (MariaDB). Как узнать название групп для конфигурационных файлов MySQL и MariaDB
Теперь при выполнении SQL-запросов не будут выводится таблицы. Например:
mariadb -u root -e 'SELECT test_column FROM TestDB.TestTABLE;'
И ещё один пример:
mariadb -u root
SELECT test_column FROM TestDB.TestTABLE;
Связанные статьи:
- Как в таблице MySQL/MariaDB найти строки с пустым значением столбца (в phpMyAdmin и в командной строке) (68.3%)
- Ошибка при использовании выражений USE в MySQL (MariaDB): «ERROR 1044 (42000): Access denied for user» (РЕШЕНО) (62.3%)
- Как разрешить пользователю доступ только к определённым базам данных в MySQL (MariaDB) (62.3%)
- Как разрешить доступ пользователю только к определённым таблицам в MySQL (MariaDB) (62.3%)
- Как разрешить доступ пользователю только к определённым столбцам в MySQL (MariaDB) (62.3%)
- Как узнать путь до файлов базы данных MySQL/MariaDB в Linux и Windows (RANDOM - 51.6%)