Как использовать Golang с MySQL

Ищете лучшую базу данных для своих проектов Golang? MySQL — один из самых популярных инструментов для работы с базами данных SQL. Это лучший для вас? Вы не узнаете, пока не попробуете, но мы уверены, что он есть в вашем списке, поэтому мы создали это руководство, чтобы помочь вам легко начать работу.

В этой статье мы углубимся в подключение к базам данных MySQL в Go, поэтому, если вы используете или изучаете Golang и хотите попробовать работать с базами данных SQL, продолжайте читать. Мы поможем вам настроить MySQL для бесперебойной работы с Golang.

Прокрутите дальше, чтобы узнать, как получить и установить драйвер Golang — MySQL, создать базу данных и затем подключиться к ней, а также изучить основные действия с БД на наших практических примерах Go + MySQL.

Начало работы с драйвером Go MySQL

Убедитесь, что на вашем компьютере установлен MySQL, выполнив команду mysql –version в Терминале.

запустить MySQL

Если у вас есть 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: @tcp(127.0.0.1:3306)/test”) if err != nil { panic(err.Error()) } defer db.Close() fmt.Println(“Успех!”) }

Вы можете использовать редактор кода по вашему выбору, чтобы написать этот код. Мы используем CodeRunner, быстрый редактор кода с удобной подсветкой синтаксиса, функциями IDE и поддержкой более 25 языков, включая Golang.

редактор кода

✕ Удалить баннер приложения

Просто скопируйте приведенный выше код и вставьте свой пароль базы данных MySQL в эту строку:

“корень:@tcp(127.0.0.1:3306)/тест”)

Когда вы это сделаете, вы будете готовы запустить приложение Go в Терминале.

Сначала перейдите в папку, содержащую вашу программу main.go, используя команду смены каталога cd:

запустите ваше приложение Go в Терминале

Затем введите go run main.go:

иди беги main.go

Ваша программа напечатает «Успех!» на экране, если все идет гладко.

Профессиональный совет:

Можно заменить «Успех!» с любым текстом, который вам нравится в вашем коде main.go.

Поскольку мы будем редактировать код в этом приложении, чтобы выполнять другие действия с вашей базой данных, мы рекомендуем сохранить фрагмент кода в SnippetsLab, приложении, которое помогает организовать ваши фрагменты кода:

фрагменты кода

✕ Удалить баннер приложения

Обязательно сохраните код без учетных данных для входа! Используйте менеджер паролей, чтобы сохранить вашу информацию в безопасности. Для тайского проекта мы сохранили пароль нашей базы данных MySQL в Secrets:

менеджер паролей

✕ Удалить баннер приложения

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

Создание базы данных MySQL

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

Есть несколько способов сделать это, один из них — использование Docker. Однако для этой статьи мы использовали решение без кода, предлагаемое TablePlus. Приложение позволяет создавать, управлять и запрашивать базы данных в MySQL, PostgreSQL, SQLite.

Мы создали БД для наших запросов Golang под названием 123begin. Затем мы создали таблицу под названием testtable2. Запомните эти значения, потому что они понадобятся вам для вставки и запроса вашей базы данных.

БД для наших запросов Golang

Работа с базой данных MySQL.

Теперь, когда у нас есть таблица, мы можем попытаться вставить некоторые данные — объект базы данных.

Вот код для вставки объекта в таблицу в вашей базе данных:

пакет main import (“fmt” “database/sql” _ “github.com/go-sql-driver/mysql” ) func main() { db, err := sql.Open(“mysql”, “root:@tcp(127.0.0.1:3306)/123begin”) if err != nil { panic(err.Error()) } defer db.Close() вставить, err := db.Query(“ВСТАВИТЬ В ЗНАЧЕНИЯ testtable2( ’23’)”) if err !=nil { panic(err.Error()) } defer insert.Close() fmt.Println(“Ура, значения добавлены!”) }

Добавьте этот код в ваш файл main.go. Вы можете скопировать свой предыдущий код в SnippetsLab, чтобы получить к нему доступ для других проектов.

Теперь запустите команду go run main.go в Терминале в папке с вашим проектом Go. Если все пойдет правильно, у вас должно получиться Yay, добавленные значения! напечатано обратно:

Работа с базой данных MySQL.

С добавлением нового значения мы можем заставить приложение 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:@tcp(127.0.0.1:3306)/123begin”) if err != nil { panic(err.Error()) } отложить результаты db.Close() , err := db.Query(“SELECT id FROM testtable2”) if err !=nil { panic(err.Error()) } for results.Next() { var testtable2 Testtable2 err = results.Scan(&testtable2.id) если err !=nil { panic(err.Error()) } fmt.Println(testtable2.id) } }

Замените testtable2, 123begin и id соответствующими значениями для вашей таблицы базы данных, имени базы данных и запрашиваемого столбца.

Запустите go run main.go в Терминале:

заменить значения db с помощью терминала

Здесь мы получили обратно 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!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *