ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用GORM默认SQLite自动创建数据库,写入数据

2024-09-11 23:43:44  阅读:70  来源: 互联网

标签:


其中包括自动在当前目录创建数据库dbone.db,名字请自行定义,循环插入1000条数据
注释掉了db.First查询数据
注释掉了db.Delete删除数据
学习测试的时候请自行打开测试。

  package main

  import (

  "gorm.io/driver/sqlite"

  "gorm.io/gorm"

  )

  type Product struct {

  gorm.Model

  Name string

  Code string

  Price uint

  }

  type User struct {

  gorm.Model

  Name string

  Tel string

  Email string

  }

  func main() {

  db, err := gorm.Open(sqlite.Open("dbone.db"), &gorm.Config{})

  if err != nil {

  panic("failed to connect database")

  }

  db.NowFunc().MarshalText()

  // 迁移 schema

  db.AutoMigrate(&Product{})

  db.AutoMigrate(&User{})

  // 循环创建1000条记录

  var count int = 1000

  for i := 0; i < count; i++ {

  db.Create(&Product{Code: "p50", Price: 1010})

  db.Create(&User{Name: "baobao", Tel: "1312222444", Email: "2321@qq.com"})

  }

  // Read

  // var product Product

  // db.First(&product, 1) // 根据整型主键查找

  // db.First(&product, "code = ?", "D50") // 查找 code 字段值为 D42 的记录

  // fmt.Println(product)

  // // Update - 将 product 的 price 更新为 200

  // db.Model(&product).Update("Price", 200)

  // // Update - 更新多个字段

  // db.Model(&product).Updates(Product{Price: 200, Code: "F42"}) // 仅更新非零值字段

  // db.Model(&product).Updates(map[string]interface{}{"Price": 200, "Code": "F42"})

  // // Delete - 删除 product

  // db.Delete(&product, 1)

  }

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有