你受的苦 吃的亏 担的责 扛的罪 忍的痛 到最后都会变成光 照亮你的路 !!!
代码已放在:https://gitee.com/hjx_RuGuoYunZhiDao/strom-huang-go
可参照文档:https://learnku.com/docs/gorm/v2/create/9732#e9dfd9

1、 引入gorm

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

2、链接数据库

dsn := "root:root@tcp(localhost:3306)/go_test?charset=utf8mb4&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: newLogger,})

4、model

//model:
type TUser struct {ID        uint `gorm:"primaryKey"` //表示主键Name      stringPassword  stringPhone     string         `gorm:"phone"`NickName  string         `gorm:"nick_name"`CreatedAt time.Time      `gorm:"column:created_at;type:datetime"`UpdatedAt time.Time      `gorm:"column:updated_at;type:datetime"`DeletedAt gorm.DeletedAt //表示软删除的标识
}//指定数据库表名称
func (TUser) TableName() string {return "t_user"
}

5、具体代码

package mainimport ("fmt""log""os"model "strom-huang-go/go_mysql/model""time""gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger"
)func main() {//启用打印日志newLogger := logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), // io writerlogger.Config{SlowThreshold: time.Second, // 慢 SQL 阈值LogLevel:      logger.Info, // Log level: Silent、Error、Warn、InfoColorful:      false,       // 禁用彩色打印},)dsn := "root:root@tcp(localhost:3306)/go_admin?charset=utf8mb4&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: newLogger,})if err != nil {fmt.Println(err)return}//删除一条 DELETE FROM `t_user` WHERE `t_user`.`id` = 3db.Delete(&model.TUser{ID: 3})//带额外参数 DELETE FROM `t_user` WHERE name = 'jinzhu' AND `t_user`.`id` = 3db.Where("name = ?", "jinzhu").Delete(&model.TUser{ID: 3})// 根据主键删除 DELETE FROM `t_user` WHERE `t_user`.`id` = 3db.Delete(&model.TUser{}, 3)//多个删除:相当于In : DELETE FROM `t_user` WHERE `t_user`.`id` IN (3,4,5)db.Delete(&model.TUser{}, []int{3, 4, 5})//批量删除 :  DELETE FROM `t_user` WHERE nick_name likedb.Delete(&model.TUser{}, "nick_name like ?", "%6666%")// 和上面一个意思 DELETE FROM `t_user` WHERE phone like '%00000%'db.Where("phone like ?", "%00000%").Delete(&model.TUser{})//-------------------------------------软删除------------------------------------------------//软删除有点特殊,如果你的model里面有delete_at或者其他标识符号,可以在上面加上:gorm.deletedat 来表述//如果没有的话,可以用修改的方法://UPDATE `t_user` SET `deleted_at`='2022-05-13 11:51:48.981' WHERE `t_user`.`id` = 3 AND `t_user`.`deleted_at` IS NULLdb.Delete(&model.TUser{ID: 3})// 批量删除 UPDATE `t_user` SET `deleted_at`='2022-05-13 11:53:51.055' WHERE name = 20 AND `t_user`.`deleted_at` IS NULLdb.Where("name = ?", 20).Delete(&model.TUser{})// 在查询时会忽略被软删除的记录 SELECT * FROM `t_user` WHERE age = 20 AND `t_user`.`deleted_at` IS NULLdb.Where("age = 20").Find(&model.TUser{})
}

go : 使用 grom 删除数据库数据相关推荐

  1. php删除数据库数据操作日志文件,MSSQL清空日志删除日志文件

    最近的项目主要做数据的归档,把数据从一个数据库拉到另一个数据库,造成新数据库的日志文件非常大;或者数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.于是想把日志文件 ...

  2. php删除数据库中数据表的数据,php中删除数据库数据例子

    php除了删除文件目录不用用到mysql中的delete之外只要删除mysql数据库中的数据都要用到数据库的命令了,下面我看利用delete来删除数据的例子. sql有许多对数据库操作的语句.但是常见 ...

  3. Python 删除数据库数据

    可以用 SQL 的 DELETE 子句删除表中的记录.例如: import sqlite3 db_filename = 'company.db' with sqlite3.connect(db_fil ...

  4. MySQL 删除表数据,释放空间

    近期整理数据库堆积了三年多的数据,将19年之前的数据(大概十几万条,也不是很多居然--)删除,只保留今年的数据,也仅仅释放出了500MB左右. 第一步:先查看了一下占用磁盘空间较多的几张表 SELEC ...

  5. 网站HTML删除数据库中数据语句,如何以编程方式删除WebSQL中的数据库?

    开发人员选项 无法以编程方式枚举或删除数据库(还). Chrome开发者可以导航到chrome://settings/cookiessearch并删除任何数据库Opera开发者可以导航到opera:/ ...

  6. 删除所有数据_mysql数据库操作——数据库的增删改查

    创建数据库 create database 数据库名称 (其他选项) 其他选项可以不要 如: create database test; 则创建了一个数据库名为test的数据库 加上其他选项如字符集设 ...

  7. 删除数据库中与同步数据冗余的数据(多对多)

    思路 先获取冗余的数据 从关联的中间表删除 删除出冗余的数据 如果不删除中间表的数据,数据库中有外键,不能删除冗余数据 private void deleteSurplusHosts(List< ...

  8. mysql数据库有几种删除方式_sql有几种删除表数据的方式

    有几种删除表数据的方式? truncate.delete和drop都可以删除数据. TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作. TRUNCATE TABLE 与没有 WHE ...

  9. sparksql删除MySQL数据_Databricks 第6篇:Spark SQL 维护数据库和表

    Spark SQL 表的命名方式是db_name.table_name,只有数据库名称和数据表名称.如果没有指定db_name而直接引用table_name,实际上是引用default 数据库下的表. ...

最新文章

  1. vs2015 python 调试dll
  2. 中国移动技术愿景2020+
  3. 数据库杂谈(五)——关系数据库语言
  4. PAT乙级(1011 A+B 和 C)
  5. add_axes()——python绘图
  6. vs调试有时能进去后台,有时不能进去
  7. oracle补丁类型
  8. 前端实践(2)——网页嵌入加载地图
  9. php serialize参数,php serialize(),unserialize()
  10. Java内部类访问局部变量时的final问题
  11. linux中U盘用fdisk等命令查询不到
  12. 关于:Table '项目名称..hibernate_sequence' doesn't exist的解决方法
  13. 2020年全球锂电池电芯产值将超过3400亿元
  14. 微信网页开发 /JS-SDK说明文档
  15. word文档压缩文件大小
  16. nodejs 读取写入 plist 文件,使用 plist npm 包
  17. NW.js之基础篇(2)
  18. java 接收 gprs通信_java 接收GPRS数据
  19. 学习进度2012-6-26(动态规划算法、Prim算法、Dijkstra算法)
  20. python+django+layUI+MySQL+TSC打印机搭建4G设备管理平台项目(二)——过程中的难点记录

热门文章

  1. 基于深度学习(Pytorch)的视频识别项目 数据预处理部分的小总结
  2. 【资料整理】01-学习资料之分门别类
  3. Re-ID 2019 Review
  4. 【漆学军】MT4进阶到MT5速成之路(4)修改和删除挂单
  5. win10开机蓝屏_电脑用户遇到蓝屏ACPIBIOSError应该如何解决?
  6. 盲目出炉的支付场景 到底有多少是鸡肋?
  7. java的定时器是什么_java定时器timer是什么?该如何实现?
  8. React Hooks简介
  9. JDK1.7 sun.net.ftp.FtpClient
  10. 2021-06-23 信用卡风控是什么意思?_信用卡风控再次升级!多银行发公告!