Сегодня базы данных используются практически в любых проектах. Взаимодействие с базами данных особенно хорошо знакомо системным администраторам, администраторам баз данных, DevOps/SRE и разработчикам программного обеспечения. И если администраторам, как правило, достаточно развернуть один или несколько инстансов СУБД и прописать необходимые данные для подключения базы данных к приложению или сервису, то разработчикам необходимо подключать базу данных непосредственно в самом коде разрабатываемого приложения. В сегодняшней статье мы подробно рассмотрим, как подключить базы данных в разных языках программирования.
Предварительные требования
В текущей статье мы рассмотрим примеры пяти баз данных — PostgreSQL, Redis, MongoDB, MySQL, ClickHouse, используя такие языки программирования как Python, Go и JavaScript.
-
Для подключения к базам данных нам понадобится один сервер или одна виртуальная машина с любым установленным дистрибутивом Linux. В данной статье будет использоваться дистрибутив Ubuntu 22.04. На сервер заранее нужно установить необходимую СУБД.
Инструкции по установке СУБД можно найти в наших туториалах:
PostgreSQL, Redis, MongoDB, MySQL, ClickHouse.
Также для развертывания СУБД можно воспользоваться сервисом Облачные базы данных (База данных как сервис (DBaaS)). В следующем разделе мы рассмотрим использование данного сервиса.
-
Также при необходимости для PostgreSQL можно использовать клиентскую утилиту для работу с оболочкой
psql. Для установки в ОС Ubuntu достаточно выполнить команды:
-
По умолчанию на арендуемых облачных серверах уже предустановлен Python версии 3.10. Язык Go (Golang) необходимо установить отдельно.
-
Дополнительно для языка Python необходимо установить пакетный менеджер pip, чтобы скачивать сторонние пакеты.
-
Для языка JavaScript необходимо установить платформу Node.js и пакетный менеджер npm.
Развертывание облачной базы данных
Чтобы быстро развернуть необходимую СУБД можно воспользоваться сервисом облачного провайдера Timeweb Cloud под названием «Облачные базы данных» в котором достаточно выбрать необходимую СУБД, характеристики сервера и заполнить информацию о базе – название БД и пароль пользователя. Рассмотрим использование сервиса на примере создания базы PostgreSQL.
-
Проходим аутентификацию в личном кабинете по ссылке.
-
На панели слева выбираем раздел «Базы данных»:

-
Нажимаем на кнопку «Создать»:

-
В разделе «Тип база данных» выбираем PostgreSQL:

-
Выбираем регион в котором будет находиться сервер баз данных. Чем меньше пинг от дата-центра к вашей локации тем меньше будет задержка до сервера с СУБД:

-
В разделе «Конфигурация» выбираем необходимую конфигурацию для сервера. В качестве теста можно выбрать минимальную конфигурацию:

-
Если сервер с СУБД должен быть доступен из внешней сети, то в разделе «Сеть» можно арендовать публичный IPV4-адрес. В нашем случаем нам понадобится IPv4-адрес:

-
При необходимости можно задать свое имя для базы данных и свой пароль пользователя:

-
Для заказа сервиса СУБД необходимо нажать на кнопку «Заказать»:

DBaaS
оптимизируйте процессы DevOps и CI/CD.
-
После того как база данных будет создана, переходим в раздел «Подключение» где будет сгенерирована строка для подключения к базе данных. Строка подключения имеет следующий вид:

Эти данные потребуются для подключения к соответствующим инстансам баз данных. Все остальные СУБД создаются по аналогии с примером для создания PostgreSQL.
Подключение к базам данных в Python
Для работы с MySQL существует официальный драйвер MySQL Connector.
1) Для начала установим драйвер при помощи менеджера пакетов pip:

2) Далее инициализируем новое соединение к серверу MySQL. Импортируем библиотеку mysql.connector и отдельно класс Error который в случае проблем с подключением будет выводить конкретную ошибку.
Создаем функцию с именем create_connection в которую передадим значения адреса БД (host), имени пользователя (user) и пароля пользователя (password). Чтобы произвести соединение создадим класс create_connection в который передадим имена переменных в которых хранятся данные для подключения к баз данных:
3) Запускаем скрипт. При успешном соединение с MySQL будет выведено сообщение «Successfully connected to MySQL Server!».
При наличие ошибок будет выведен код и описание ошибки.
4) Создадим новую таблицу. Подключаемся к базе данных используя класс connection.database в котором указываем имя базы данных. БД должна уже быть предварительно создана.
Для создания таблицы инициализируем переменную create_table_query в которой указываем SQL запрос CREATE TABLE. Для вставки данных инициализируем другую переменную insert_data_query в которой будет указан SQL запрос INSERT INTO. Для выполнения каждого запроса используется класс execute_query который принимает строку с соединением к БД и имя переменной с SQL запросом:
5) Запускаем скрипт:

Как можно увидеть данные были успешно созданы.
Подключение к базам данных в Go
Язык программирования Go является одним из самых молодых языков — он был разработан в 2009 году компанией Google. Go широко используется при разработке микросервисной архитектуры, а также для написания сетевых утилит. В частности, на Go написаны такие сервисы, как Docker и Kubernetes.
Go поддерживает интеграцию со всеми популярными СУБД, включая PostgreSQL, Redis, MongoDB, MySQL, ClickHouse и многие другие.
Для работы с СУБД MySQL в Go используется драйвер go-sql-driver/mysql.
1) Создаем новый каталог, в котором будут храниться файлы проекта, и переходим в него:
2) Создаем файл go.mod, в котором будут храниться зависимости:
3) Скачиваем драйвер mysql при помощи команды go get:
4) Создаем новый файл с именем main.go Данные для подключения к СУБД указаны в переменной dsn:
Подключение к базам данных в JavaScript
Язык JavaScript активно используется для создания динамических веб-сайтов. Стоит отметить что все подключения к сторонним сервисам включая СУБД осуществляются при помощи платформы Node.js. Убедитесь что на вашем устройстве установлен Node.js и пакетный менеджер npm.
Для работы с MySQL используется драйвер mysql2.
1) Создаем директорию в которой будем хранить файлы проекта:
2) Инициализируем проект:
3) Устанавливаем библиотеку mysql2:
4) Для подключения к СУБД MySQL используем следующий код:
Разверните базу данных в облаке
Timeweb Cloud
447 ₽/мес
711 ₽/мес
Заключение
В сегодняшней статье мы подробно ознакомились с подключением к базам данных PostgreSQL, Redis, MongoDB, MySQL и ClickHouse в различных языках программирования — Python, Go и JavaScript, с помощью которых можно создавать как веб-приложения, так и микросервисы, использующие базы данных в своей работе.
