golang怎么写入mysql
时间 : 2023-07-29 01:55:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

要在Golang中写入MySQL,需要使用Golang的数据库驱动程序。目前最流行的MySQL驱动程序是`github.com/go-sql-driver/mysql`。下面是一个示例代码,演示了如何使用该驱动程序来连接MySQL数据库并将数据写入表中。

首先,需要通过Golang的包管理器(如`go mod`或`dep`)下载和安装`go-sql-driver/mysql`包:

go get -u github.com/go-sql-driver/mysql

然后,可以通过以下代码连接到MySQL数据库:

```go

package main

import (

"database/sql"

"fmt"

_ "github.com/go-sql-driver/mysql"

)

func main() {

// 连接数据库

db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/database")

if err != nil {

panic(err.Error())

}

defer db.Close()

// 创建数据表(如果不存在)

_, err = db.Exec("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), email VARCHAR(50))")

if err != nil {

panic(err.Error())

}

// 插入数据

_, err = db.Exec("INSERT INTO users (name, email) VALUES (?, ?)", "John Doe", "john.doe@example.com")

if err != nil {

panic(err.Error())

}

fmt.Println("数据插入成功")

}

上述代码中,`sql.Open()`函数用于创建一个数据库连接,参数采用`username:password@tcp(host:port)/database`的格式表示用户名、密码、主机、端口、数据库名称。`defer db.Close()`语句用于在程序执行结束时关闭数据库连接。

然后,使用`db.Exec()`函数来执行SQL语句。在上述示例中,我们首先执行了`CREATE TABLE IF NOT EXISTS`语句来创建一个名为`users`的表,如果该表不存在的话。然后,我们执行了`INSERT INTO`语句来将一条数据插入到`users`表中。

如果插入数据成功,将会输出"数据插入成功"。

当然,这只是一个简单的示例,你可以根据自己的需求来修改和扩展它。例如,你可以通过查询参数,执行查询语句,并将查询结果映射到结构体中。同时,为了安全起见,在生产环境中你应该考虑使用预编译语句来防止SQL注入攻击。

希望以上内容对你有帮助,如果有任何疑问,请随时提问。