go语言结构体建表
时间: 2023-07-07 22:08:09 浏览: 50
在 Go 语言中,我们可以使用结构体来定义表的结构。结构体是一种自定义数据类型,可以由多个字段组成。每个字段可以有不同的类型。
下面是一个示例代码,用于创建一个名为 `users` 的表,其中包含 `id`、`name` 和 `age` 三个字段:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
type User struct {
ID int64
Name string
Age int
}
func main() {
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test")
if err != nil {
panic(err)
}
defer db.Close()
_, err = db.Exec(`CREATE TABLE IF NOT EXISTS users (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT NOT NULL
)`)
if err != nil {
panic(err)
}
fmt.Println("Table created successfully")
}
```
在上面的代码中,我们首先定义了一个名为 `User` 的结构体,该结构体包含 `ID`、`Name` 和 `Age` 三个字段。接下来,我们使用 `sql.Open` 函数连接到 MySQL 数据库,然后使用 `db.Exec` 函数执行 SQL 语句创建表。
需要注意的是,我们在 SQL 语句中使用了 `AUTO_INCREMENT` 和 `PRIMARY KEY` 约束来指定 `id` 字段为自增主键。