获得徽章 0
- day11,今天学习的是gorm中crud操作的d操作,主要有以下几种方法:
err := db.Delete(User{}, "id = ?", id).Error
if err != nil {
log.Fatal(err)
}
user := User{Name: "Jane"}
err := db.DeleteOmit(user, "name = ?", "Jane").Error
if err != nil {
log.Fatal(err)
}
result := User{}
err := db.Where("name = ?", "Jane").DeleteOne(&result).Error
if err != nil {
log.Fatal(err)
}
err := db.Where("name = ?", "Jane").DeleteAll(User{}).Error
if err != nil {
log.Fatal(err)
}
#挑战每日一条沸点#展开评论点赞 - day10,今天学习的是gorm crud操作的u操作,更新主要有以下几个方法:
GORM 是 Go 语言的一个 ORM (Object-Relational Mapping) 库,用于操作数据库。对于更新操作,GORM 提供了以下几个方法:
1. 使用 `Update` 方法:
db.Model(&user).Update("column1", value1).Update("column2", value2)
2. 使用 `Updates` 方法:
db.Model(&user).Updates(map[string]interface{}{"column1": value1, "column2": value2, ...})
3. 使用 `Save` 方法:
db.Model(&user).Select("column1", "column2").Updates(map[string]interface{}{"column1": value1, "column2": value2, ...}).Save(&user)
4. 使用 `Omit` 方法:
db.Model(&user).Omit("column1", "column2").Update("column3", value3)
5. 使用 `Save` 方法结合 `Model` 和 `Assign` 方法:
user.Name = "new name"
db.Model(&user).Assign(User{Name: "new name"}).Save(&user)
#挑战每日一条沸点#展开评论点赞 - day9,今天学习了gormcrud中的查询操作,主要有以下几种:
1. 使用`Find`方法查询所有记录:
var users []User
db.Find(&users)
2. 使用`First`方法查询第一条记录:
var user User
db.First(&user)
3. 使用`Last`方法查询最后一条记录
var user User
db.Last(&user)
4. 使用`Where`方法进行条件查询:
var user User
db.Where("name = ?", "John").First(&user)
5. 使用`Order`方法进行排序查询:
var users []User
db.Order("age desc").Find(&users)
6. 使用`Limit`方法限制查询结果的数量:
var users []User
db.Limit(10).Find(&users)
7. 使用`Select`方法选择要返回的字段:
var users []User
db.Select("name, email").Find(&users)
8. 使用`Joins`方法进行关联查询:
var users []User
db.Joins("LEFT JOIN addresses ON addresses.user_id = users.id").Find(&users)
展开评论点赞