In-depth understanding of SQL operations in Go language

WBOY
Release: 2024-03-27 16:00:06
Original
406 people have browsed it

In-depth understanding of SQL operations in Go language

In today's software development field, database operations are a very important part. As a fast and efficient programming language, Go language also provides a rich and convenient library for SQL operations, which can easily interact with various types of databases. This article will start from the basics, gradually introduce in-depth knowledge related to SQL operations in the Go language, and give specific code examples.

1. Connect to the database

In the Go language, we usually use the database/sql package and the corresponding database driver to connect to the database. First, you need to import the relevant libraries:

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)
Copy after login

2. Connect to the MySQL database

func ConnectDB() (*sql.DB, error) {
    // 数据库连接信息
    dsn := "root:password@tcp(127.0.0.1:3306)/dbname"

    // 打开数据库连接
    db, err := sql.Open("mysql", dsn)
    if err != nil {
        return nil, err
    }

    // 检查数据库连接
    if err = db.Ping(); err != nil {
        return nil, err
    }

    return db, nil
}
Copy after login

3. Execute SQL query

func QueryDB(db *sql.DB) {
    rows, err := db.Query("SELECT id, name FROM users")
    if err != nil {
        fmt.Println("Failed to query database:", err)
        return
    }
    defer rows.Close()

    var id int
    var name string
    for rows.Next() {
        if err := rows.Scan(&id, &name); err != nil {
            fmt.Println("Failed to scan rows:", err)
            return
        }
        fmt.Println("ID:", id, "Name:", name)
    }
}
Copy after login

4. Perform SQL insertion operation

func InsertDB(db *sql.DB, name string) error {
    _, err := db.Exec("INSERT INTO users (name) VALUES (?)", name)
    if err != nil {
        return err
    }
    return nil
}
Copy after login

5. Complete example

func main() {
    db, err := ConnectDB()
    if err != nil {
        log.Fatal("Failed to connect database:", err)
    }
    defer db.Close()

    // 执行查询操作
    QueryDB(db)

    // 执行插入操作
    err = InsertDB(db, "Alice")
    if err != nil {
        log.Fatal("Failed to insert into database:", err)
    }
}
Copy after login

Through the above code examples, we can see how to connect to the database, perform queries and insert operations in the Go language. Of course, in addition to MySQL, the Go language also supports a variety of databases (such as PostgreSQL, SQLite, etc.). You only need to replace the corresponding driver to achieve interaction with other databases. I hope this article can help readers gain a deeper understanding of SQL operations in Go language.

The above is the detailed content of In-depth understanding of SQL operations in Go language. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!