建立main.go
下載擴充套件
go get github.com/go-sql-driver/mysql
go get github.com/jinzhu/gorm
程式碼
package main
import (
_ "github.com/go-sql-driver/mysql"//載入mysql
"github.com/jinzhu/gorm"//gorm 擴充套件包
"fmt"
)
//注意如果 定義成小寫username 引用時 無法呼叫
type User struct {
ID int64 // 列名為 `id`
Username string // 列名為 `username`
Password string // 列名為 `password`
}
//設定表名
func (User) TableName() string {
return "users"
}
func main() {
db, err := gorm.Open("mysql", "資料庫使用者名稱:資料庫密碼@tcp(ip地址:埠號)/資料庫名? charset=utf8&parseTime=True&loc=Local&timeout=10ms")
defer db.Close()
if err != nil {
fmt.Printf("mysql connect error %v", err)
}
//執行遷移檔案 生成資料表
db.CreateTable(&User{})
//新增資料
user := User{Username: "root", Password: "root"}
result := db.Create(&user)
if result.Error != nil {
fmt.Printf("insert row err %v", result.Error)
return
}
fmt.Println(user.ID) //返回id
//查詢單條資料
getUser := User{}
//SELECT id, first FROM users WHERE id = 1 LIMIT 1;
db.Select([]string{"id", "username"}).First(&getUser, 1)
fmt.Println(getUser) //列印查詢資料
//修改資料
user.Username = "update username"
user.Password = "update password"
db.Save(&user)
//查詢列表資料
users := []User{}
db.Find(&users)
fmt.Println(&users)//獲取所有資料
//刪除資料
db.Delete(&user)
}
執行
go run main.go
本作品採用《CC 協議》,轉載必須註明作者和本文連結