В этом уроке мы рассмотрим, как использовать пакет database/sql
для работы с базами данных в Go.
Для начала установим необходимые зависимости. Мы будем использовать PostgreSQL, но database/sql
также поддерживает другие СУБД, такие как MySQL, SQLite и другие.
brew install postgresql
Для подключения к базе данных нам нужно использовать драйвер. В данном случае мы будем использовать драйвер для PostgreSQL.
import (
"database/sql"
"log"
_ "github.com/lib/pq"
)
Создадим соединение с базой данных.
const (
host = "localhost"
port = 5432
user = "postgres"
password = "password"
dbname = "testdb"
)
func main() {
connStr := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname)
db, err := sql.Open("postgres", connStr)
if err != nil {
log.Fatal(err)
}
defer db.Close()
// Проверка подключения
err = db.Ping()
if err != nil {
log.Fatal(err)
}
log.Println("Successfully connected!")
}
Теперь, когда мы подключены к базе данных, мы можем выполнять SQL-запросы.
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err := rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
log.Printf("ID: %d, Name: %s", id, name)
}
Мы также можем вставлять данные в базу данных.
_, err = db.Exec("INSERT INTO users (name) VALUES (?)", "John Doe")
if err != nil {
log.Fatal(err)
}
В этом уроке мы рассмотрели основы работы с базами данных в Go с использованием пакета database/sql
. Вы можете использовать этот подход для работы с различными СУБД, поддерживаемыми Go.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )