Программы для доступа к данным

Программисты чаще используют язык запросов SQL, когда пишут код программы на каком-то языке программирования. Но тестировать его часто приходится в какой-то программе. В этой главе мы поговорим о паре методов доступа к данным.

Тестеры и аналитики данных нуждаютя в хороших инструментах для работы с SQL, потому что они не программисты, а только нуждаются в доступе к базе данных. 

Устанавливаем MySQL

Существуют различные базы данных, а я в этой работе буду рассматривать MySQL, потому что она бесплатная и на ее установку уходит не так много времени. Но чтобы начать работать с этой базой данных, нужно ее установить.

На сколько я знаю, можно установить Windows версию базы данных MySQL, которую можно скачать с сайта https://www.mysql.com/. Я когда-то пользовался Windows версией, но это было очень давно, когда компьютеры были слабыми, памяти мало и дорогая, компьютеры были дорогие. Я просто использую MySQL с PHP и люблю эту связку только на Unix подобных ОС.

Когда появилась хорошая поддержка виртуализации и у компьютеров стало достаточно памяти для комфортной работы, то сначала я перебрался на Linux в виртуальной машине, а сейчас полностью перебрался на macOS. В данном случае я использую Windows и тут можно тоже получить опыт Linux, потому что в Windows появилась встроенная поддержка Ubuntu.

Итак, в Windows у нас есть выбор – поставить Windows версию MySQL или Linux. Windows ставится без проблем, просто качаем с сайта установщик и все работает, по крайней мере должно быть все просто (я уже давно не ставил Windows версию). Я покажу, как установить Linux версию MySQL, потому что сам предпочитаю ее. Это чисто предпочтение, но этот опыт очень полезен. В наше время при разработке Web сайтов очень часто используется связка LAMP (Linux, Apache, MySQL и PHP) и умение работать с двумя из этих компонентов будет полезным. 

Сначала в магазине приложений устанавливаем Ubuntu. Если в поиске набить слово Ubuntu, то появится несколько вариантов на выбор – просто Ubuntu, 18.04 и 20.04. Лучше ставить конечно последний, а у меня стоит просто Ubuntu уже много лет. Во всех работа MySQL будет одинаково.

После установки Ubuntu запускаем его из магазина приложений или в меню (Вызываем главное меню Windows и печатаем Ubuntu) и появляется командная строка. В командной строке сначала выполняем следующую команду для установки mysql сервера:

sudo apt install mysql-server

а теперь выполняем следующую команду для запуска MySQL сервера:

sudo service mysql restart

Все, две команды и через минуту MySQL уже готов к работе. Плюс этого подхода – таким же образом устанавливается MySQL в самом популярном Linux дистрибутиве Ubuntu. 

Под macOS можно скачать графическую программу установки, как и в Windows, а получить потом доступ к данным как с помощью видуальных программ, так и с помощью терминала. Давайте рассмтрим два метода доступа к данным - через терминал и через программу с оконным интерфейсом. 

Выполнение SQL команд из терминала

К базе данных можно подключиться выполнив следующую команду в окне терминала:

mysql -u root -p -h 127.0.0.1

Здесь мы выполняем команду mysql программу с ключами:

-u это ключ указывает на имя пользователя user и после этого идет имя пользователя, от которого мы хотим работать и в нашем случае это root. Это имя по умолчанию в MySQL, которое имеет корни Linux.

-p нам нужно будет указать пароль после запуска

-h после этого ключа будет указан компьютер, к которому мы подключаемся. В нашем случае это локальный компьютер, а для локального всегда можно использовать адрес 127.0.0.1.

Если сервер MySql работает, то в результате запуска mysql вы должны увидеть запрос на ввод пароля. Если сервер не работает, то вы можете сразу увидеть примерно следующую ошибку:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Здесь говориться о том, что доступ запрещен, хотя в реальности сервер просто не работает. Так что эта ошибка может появиться в результате различных проблем, но первым делом проверьте, что сервер реально работает.

Попробуйте запустить сервер, выполнив команду:

sudo service mysql start

Если вы подключаетесь к серверу на локальном компьютеру, то параметр -h можно опустить и тогда команда будет выглядеть так:

mysql -u root -p

Если вы все сделали верно, то вы должны увидеть что-то типа:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.30-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Тут у нас несколько строк с приветствием от сервера, а потом приглашение выполнять команды, которое начинается с 
mysql>

После этого приглашения мы можем писать команды SQL. Каждая команда может писаться в несколько строк, то есть нажатие клавиши Enter не запускает команду, а просто переводит курсор на новую строку для вашего удобства. Чтобы запустить команду, нужно сначала указать точку с запятой и потом нажать Enter (Ввод), потому что в SQL точка с запятой означает конец команды.

Это требование является обязательным не во всех редакторах. Некоторые программы для работы с запросами SQL выполняют команды и без точки с запятой, особенно с программы с визуальным интерфейсом.

Попробуем для примера выполнить такую команду. Введите ее и нажмите Enter.

SELECT table_name FROM information_schema.tables;

Не имеет значения, что делает эта строка, она что-то отображает и для нас этого пока достаточно. Нам сейчас главное попробовать выполнить что-то, чтобы вы могли ощутить, какой способ выполнения запросов вам больше нравится и какой вы захотите использовать в дальнейшем для выполнения заданий.

Чтобы выйти из команды mysql вернуться в терминал нужно напечатать команду

exit;

На этом пока знакомство с утилитой закончим.

Выполнение SQL команд из VS Code

Еще один вариант выполнения запросов SQL – использовать достаточно популярную программу VS Code, которую можно скачать здесь: https://code.visualstudio.com/. Это Windows программа, поэтому она ставиться без проблем. Устанавливаем, и запускаем редактор.

Здесь выполняем три действия для того, чтобы установить расширение, которое позволит работать с MySQL, как показано на рисунке:

1. Открываем окно установки расширений

2. Ищем расширение MySQL

3. Нажимаем кнопку Install для установки

После этого у вас слева должна появиться еще одна кнопка для открытия MySQL расширения:

В окне расширения нажимаем кнопку открытия подключения к базе данных и в центре должно появится окно:

Здесь можно все значения оставить по умолчанию и просто указать пароль и нажать Connect, если вы хотите подключиться к локальному серверу. Если подключение не работает, то убедитесь, что сервер запущен.

Пробежимся по полям, которые есть в окне подключения:

Connection Name – имя соединения, которое можно оставить по умолчанию и программа создаст свое имя, которое будет состоять из адреса сервера, порта и т.д.

Host – адрес сервера, где установлена и запущена база. По умолчанию адрес локального хоста 127.0.0.1, то есть по умолчанию мы подключимся к текущему компьютеру

Port – порт, по умолчанию MySQL использует 3306

Username – имя пользователя, по умолчанию root, потому что этот пользователь чаще всего админ

Password – ясное дело пароль

Database – если на сервере есть уже база, к которой вы хотите подключиться, то самое время указать его здесь. У нас пока нет ничего.

Нажимаем Connect и слева в дереве должен появиться новый элемент подключения сервера. Теперь мы можем создать окно выполнения запросов и выполнять запросы. На следующем рисунке показана кнопка для создания окна выполнения запросов. Нажатие на кнопке создаст новую закладку, в которой можно писать запросы. Для выполнения запросов есть кнопка в правом верхнем углу:

Для выполнения запросов в VS Code точка с запятой не обязательна.

Скопируйте в окно запроса следующий SQL запрос и нажмите кнопку выполнения, чтобы посмотреть на результат:

SELECT table_name FROM information_schema.tables;

Не имеет значения, что делает эта строка, она что-то отображает и для нас этого пока достаточно. Нам сейчас главное попробовать выполнить что-то, чтобы вы могли ощутить, какой способ выполнения запросов вам больше нравится и какой вы захотите использовать в дальнейшем для выполнения заданий.

На этом очень краткий экскурс установки необходимых инструментов можно считать законченным и наконец перейти к самому языку запросов SQL. 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне