首页 > 其他分享 >Gorm的使用 增删改查

Gorm的使用 增删改查

时间:2023-04-17 16:24:49浏览次数:33  
标签:product 改查 Price db Product gorm 增删 Model Gorm

 

package main

import (
    "fmt"
    "gorm.io/driver/mysql"
    "gorm.io/gorm"
)

type Product struct {
    gorm.Model
    Code  string
    Price uint
}

func main() {
    dsn := "root:root@tcp(127.0.0.1:3306)/test_lc"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        fmt.Println(err)
    }
    // //创建表
    db.AutoMigrate(&Product{})
    p := Product{
        Price: 200,
        Code:  "2",
    }
    //插入数据
    db.Create(&p)
    //查看数据
    var product Product
    db.First(&product, 1)
    fmt.Printf("product: %v\n", product)

    //改
    //这里有坑,修改单个字段使用的是update 修改多个使用到的是updates
    db.Model(&product).Update("Price", 300)
    //更新多个字段
    db.Model(&product).Updates(Product{Price:300,Code:"3"})
    db.Model(&product).Updates(map[string]interface{}{"Price": 300, "Code": "3"})
    //删
    db.Delete(&product, 1)
}

  

gorm 模型 model

gorm的模型更多的是一种约定,而不是配置,gorm.Model是grom的一种结构体代表的是

type Model struct{
  ID        uint           `gorm:"primaryKey"`
  CreatedAt time.Time
  UpdatedAt time.Time
  DeletedAt gorm.DeletedAt `gorm:"index"`
}

  

标签:product,改查,Price,db,Product,gorm,增删,Model,Gorm
From: https://www.cnblogs.com/beatleC/p/17326229.html

相关文章

  • flask的sqlalchemy快速插入数据、scoped_session线程安全、基本的增删查改、一对多、
    今日内容sqlalchemy快速插入数据scoped_session线程安全基本的增删改查一对多多对多连表查询1sqlalchemy快速插入数据#sqlalchemy是什么ORM框架,跟其他web框架没有必然联系,可以独立使用#安装,快速使用,执行原生sql#创建表和删除表-不能创建......
  • gorm数据库操作
    前言:Object-RelationlMapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。GORM是golang写的ORM库网址:https://gorm.io/正文:GORM官方支持的数据库类型有:MySQL......
  • python实现数据库增删改查
      代码:#coding=utf-8#连接数据库测试importpymysql#打开数据库db=pymysql.connect(host="localhost",user="root",password="PENGsuoqun123",db="info")#使用cursor()方法获取操作游标cur=db.cursor()#增加数据sql1="insertintostudent1(......
  • Elasticsearch——》kibana操作索引:增删改查
    一、新建索引PUT/test_001{"settings":{"index":{"max_result_window":1000000},"analysis":{"analyzer":{"ik_max_word":{"tokenizer":"ik_max_......
  • Django 对实体的增删改查样例
    classUserInfo(models.Model):"""人员信息"""user_id=models.CharField(max_length=20,primary_key=True,blank=False,verbose_name='人员ID')user_name=models.CharField(max_length=200,blank=Fal......
  • mybatisPlus-增删改查
    引入依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.or......
  • PHP连接MYSQL数据库参数设置机器增删查改操作
     1.param.php <?phpsession_start();if(!$_SESSION["user"]->poststuno)exit('你的工号不正确');if($_SESSION["user"]->juese=='001')exit('未知错误,请联系管理员0001');$db_host_main="192.168.*.*";//主数......
  • sqlalchemy快速插入数据,scoped_session线程安全,加载类上的装饰器,基本增删改查,django中
    今日内容sqlalchemy快速插入数据sqlalchemy是什么orm框架,跟其他web框架没有必然联系,可以独立使用安装,快速使用,执行原生sql创建表和删除表不能创建数据库不能修改字段(增加,删除)使用orm插入第一步:生成engine对象engine=create_engine("mysql+pymysql://[email protected].......
  • flask框架06 sqlalchemy使用 scoped_session线程安全 一对多 多对多 增删改查
    今日内容详细目录今日内容详细1sqlalchemy快速插入数据2scoped_session线程安全2.1基本使用2.2加在类上的装饰器3基本增删查改3.1基本增删查改和高级查询3.2原生sql3.3django中执行原生sql4一对多4.1表模型4.2新增和基于对象的查询5多对多5.1表模型5.2增加和基于......
  • flask之sqlalchemy快速插入数据-scoped_session线程安全-基本增删改查-表模型一对多-
    目录flask之sqlalchemy快速插入数据-scoped_session线程安全-基本增删改查-表模型一对多-多对多-连表查询今日内容1sqlalchemy快速插入数据2scoped_session线程安全2.1基本使用2.2加在类上的装饰器3基本增删改查3.1基本增删改查和高级查询3.2原生sql3.3django中执行原生sq......