Как использовать Golang с MySQL
Ищете лучшую базу данных для своих проектов Golang? MySQL — один из самых популярных инструментов для работы с базами данных SQL. Это лучший для вас? Вы не узнаете, пока не попробуете, но мы уверены, что он есть в вашем списке, поэтому мы создали это руководство, чтобы помочь вам легко начать работу.
В этой статье мы углубимся в подключение к базам данных MySQL в Go, поэтому, если вы используете или изучаете Golang и хотите попробовать работать с базами данных SQL, продолжайте читать. Мы поможем вам настроить MySQL для бесперебойной работы с Golang.
Прокрутите дальше, чтобы узнать, как получить и установить драйвер Golang — MySQL, создать базу данных и затем подключиться к ней, а также изучить основные действия с БД на наших практических примерах Go + MySQL.
✕
Начало работы с драйвером Go MySQL
Убедитесь, что на вашем компьютере установлен MySQL, выполнив команду mysql –version в Терминале.
Если у вас есть MySQL, вы увидите версию MySQL, напечатанную в окне терминала.
Затем запустите команду установки драйвера Golang MySQL:
получить -u github.com/go-sql-driver/mysql
Вам не обязательно использовать этот конкретный драйвер Go MySQL, но он популярен, поэтому мы используем его в нашем руководстве. Вы можете найти подробную информацию об этом драйвере на его страница на GitHub.
Теперь давайте подключимся к MySQL.
Обязательно создайте свое приложение в папке, где находятся все ваши установочные файлы Golang, или используйте команды go mod init test-sql и go mod tidy, чтобы создать файлы go.mod и go.sum, позволяющие запускать приложение Go в папку, отличную от той, в которой вы установили Go.
После этого вы готовы к подключению. Создайте файл main.go и вставьте следующий код:
основной импорт пакета (“fmt” “database/sql” _ “github.com/go-sql-driver/mysql” ) func main() { db, err := sql.Open (“mysql”, “root:
Вы можете использовать редактор кода по вашему выбору, чтобы написать этот код. Мы используем CodeRunner, быстрый редактор кода с удобной подсветкой синтаксиса, функциями IDE и поддержкой более 25 языков, включая Golang.
✕ Удалить баннер приложения
Просто скопируйте приведенный выше код и вставьте свой пароль базы данных MySQL в эту строку:
“корень:@tcp(127.0.0.1:3306)/тест”)
Когда вы это сделаете, вы будете готовы запустить приложение Go в Терминале.
Сначала перейдите в папку, содержащую вашу программу main.go, используя команду смены каталога cd:
Затем введите go run main.go:
Ваша программа напечатает «Успех!» на экране, если все идет гладко.
Профессиональный совет:
Поскольку мы будем редактировать код в этом приложении, чтобы выполнять другие действия с вашей базой данных, мы рекомендуем сохранить фрагмент кода в SnippetsLab, приложении, которое помогает организовать ваши фрагменты кода:
✕ Удалить баннер приложения
Обязательно сохраните код без учетных данных для входа! Используйте менеджер паролей, чтобы сохранить вашу информацию в безопасности. Для тайского проекта мы сохранили пароль нашей базы данных MySQL в Secrets:
✕ Удалить баннер приложения
Приложение позволяет упорядочивать и хранить в безопасности пароли, конфиденциальные заметки, информацию о кредитной карте, данные банковского счета и многое другое.
Создание базы данных MySQL
Хорошо, пришло время рассмотреть несколько примеров использования MySQL в ваших проектах на Golang. Но прежде чем мы узнаем, как использовать Golang для вставки в вашу базу данных SQL, давайте сначала создадим начальную базу данных.
Есть несколько способов сделать это, один из них — использование Docker. Однако для этой статьи мы использовали решение без кода, предлагаемое TablePlus. Приложение позволяет создавать, управлять и запрашивать базы данных в MySQL, PostgreSQL, SQLite.
Мы создали БД для наших запросов Golang под названием 123begin. Затем мы создали таблицу под названием testtable2. Запомните эти значения, потому что они понадобятся вам для вставки и запроса вашей базы данных.
Работа с базой данных MySQL.
Теперь, когда у нас есть таблица, мы можем попытаться вставить некоторые данные — объект базы данных.
Вот код для вставки объекта в таблицу в вашей базе данных:
пакет main import (“fmt” “database/sql” _ “github.com/go-sql-driver/mysql” ) func main() { db, err := sql.Open(“mysql”, “root:
Добавьте этот код в ваш файл main.go. Вы можете скопировать свой предыдущий код в SnippetsLab, чтобы получить к нему доступ для других проектов.
Теперь запустите команду go run main.go в Терминале в папке с вашим проектом Go. Если все пойдет правильно, у вас должно получиться Yay, добавленные значения! напечатано обратно:
С добавлением нового значения мы можем заставить приложение Golang выполнить запрос к базе данных SQL, чтобы проверить, действительно ли ваше значение было добавлено в таблицу.
Вот код, который мы использовали для этого:
пакет main import (“fmt” “database/sql” _ “github.com/go-sql-driver/mysql” ) type Testtable2 struct { id int `json:”id”` } func main() { db, err: = sql.Open(“mysql”, “root:
Замените testtable2, 123begin и id соответствующими значениями для вашей таблицы базы данных, имени базы данных и запрашиваемого столбца.
Запустите go run main.go в Терминале:
Здесь мы получили обратно 23, то есть значение, которое мы вставили в нашу таблицу на предыдущем шаге, поэтому наш запрос был выполнен успешно.
Проблемы с драйверами Go MySQL
Нет ничего идеального, поэтому, если вы пишете код, у вас могут быть опечатки или неправильные команды.
Одной из наиболее распространенных ошибок будет запуск команды go run main.go в Терминале в неправильной папке. Убедитесь, что вы перешли в папку, содержащую ваш проект Go, чтобы разрешить запуск вашего приложения Golang.
Используйте команду cd (изменить каталог), чтобы перейти в нужную папку. Вы можете просто перетащить нужную папку в окно терминала, чтобы путь появился после команды cd. Нажмите Ввод.
Ваше приложение Go не будет работать без go.mod и go.sum, поэтому используйте команду ls в терминале, чтобы убедиться, что ваша папка содержит файлы go.mod и go.sum. Если файлы отсутствуют, создайте их с помощью команд, которые мы предоставили в Начиная… раздел этого сообщения в блоге.
Если вы столкнулись с настоящей ошибкой в базе данных MySQL, MySQL фактически принимает отчеты об ошибках эта официальная страница.
Вывод
В приведенном выше руководстве мы продемонстрировали, как вы можете установить соединение между вашим приложением Golang и базой данных в MySQL с помощью драйвера Go MySQL. Мы надеемся, что теперь вы можете беспрепятственно работать со своими базами данных MySQL в своих проектах Go и легко создавать интеллектуальные приложения.
Расширьте свой набор инструментов для кодирования, попробовав некоторые из инструментов, которые мы использовали в этом руководстве:
добавьте фрагменты, которые мы предоставили, в свою коллекцию в приложении блокнота кода (для этой задачи мы использовали SnippetsLab),
сохраните пароль к базе данных в надежном месте — вы можете попробовать Secrets, приложение, которое мы использовали для этого урока,
создавать и управлять своими базами данных в TablePlus,
используйте CodeRunner для написания, редактирования и отладки кода.
CodeRunner, SnippetsLab, Secrets и TablePlus, а также множество других инструментов повышения производительности доступны в универсальном сервисе повышения производительности Setapp. Найдите приложения для управления своим временем и расписанием, резервного копирования данных, работы с кодом, редактирования изображений, создания макетов и многого другого в Setapp. Попробуйте сервис бесплатно в течение 7 дней с бесплатной пробной версией Setapp!