Если вы отвечаете за управление сервером базы данных, время от времени вам может потребоваться выполнить запрос и тщательно его осмотреть. Хотя вы можете сделать это непосредственно из оболочки MySQL/MariaDB, но этот совет позволит вам выполнять запросы напрямую с помощью командной строки Linux. А также вы можете сохранить вывод в файл для последующей проверки (это особенно полезно, если запрос выводит множество записей).
Давайте рассмотрим некоторые простые примеры запуска запросов непосредственно из командной строки, прежде чем мы перейдем к более сложному запросу.
Чтобы просмотреть все базы данных на вашем сервере, вы можете выполнить следующую команду:
1 |
<span class="hljs-array"># mysql </span>-u root -p -e <span class="hljs-string">"show databases;"</span> |
Затем, чтобы создать таблицу базы данных с названием tutorials в базе данных sedicommdb, выполните следующую команду:
1 |
$ mysql -u root -p -e "USE sedicommdb; <span class="hljs-operator"><span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TABLE</span> tutorials(tut_id <span class="hljs-keyword">INT</span> <span class="hljs-keyword">NOT</span> <span class="hljs-keyword">NULL</span> AUTO_INCREMENT, tut_title <span class="hljs-keyword">VARCHAR</span>(<span class="hljs-number">100</span>) <span class="hljs-keyword">NOT</span> <span class="hljs-keyword">NULL</span>, tut_author <span class="hljs-keyword">VARCHAR</span>(<span class="hljs-number">40</span>) <span class="hljs-keyword">NOT</span> <span class="hljs-keyword">NULL</span>, submissoin_date <span class="hljs-keyword">DATE</span>, <span class="hljs-keyword">PRIMARY</span> <span class="hljs-keyword">KEY</span> (tut_id));</span>" |
Мы используем команду tee, затем записываем название файла, куда мы хотим сохранить вывод.
Для иллюстрации мы будем использовать базу данных с именами сотрудников и простое соединение между сотрудниками и таблицами зарплат. В своем случае просто введите SQL-запрос между кавычками и нажмите Enter.
Обратите внимание, что вам будет предложено ввести пароль:
1 |
# mysql -u root -p -e "USE employees; <span class="hljs-operator"><span class="hljs-keyword">SELECT</span> <span class="hljs-keyword">DISTINCT</span> A.first_name, A.last_name <span class="hljs-keyword">FROM</span> employees A <span class="hljs-keyword">JOIN</span> salaries B <span class="hljs-keyword">ON</span> A.emp_no = B.emp_no <span class="hljs-keyword">WHERE</span> hire_date < <span class="hljs-string">'1985-01-31'</span>;</span>" | tee queryresults.txt |
Просмотрите результаты запроса с помощью команды cat.
1 |
<span class="hljs-preprocessor"># cat queryresults.txt</span> |
С результатами запроса в текстовых файлах, вы можете легче обрабатывать записи с помощью других утилит командной строки.