当前位置: 首页 > news >正文

Java转Go日记(四十四):Sql构建

1.1.1. 执行原生SQL

    db.Exec("DROP TABLE users;")db.Exec("UPDATE orders SET shipped_at=? WHERE id IN (?)", time.Now, []int64{11,22,33})// Scantype Result struct {Name stringAge  int}var result Resultdb.Raw("SELECT name, age FROM users WHERE name = ?", 3).Scan(&result)

1.1.2. sql.Row & sql.Rows

获取查询结果为*sql.Row*sql.Rows

    row := db.Table("users").Where("name = ?", "jinzhu").Select("name, age").Row() // (*sql.Row)row.Scan(&name, &age)rows, err := db.Model(&User{}).Where("name = ?", "jinzhu").Select("name, age, email").Rows() // (*sql.Rows, error)defer rows.Close()for rows.Next() {...rows.Scan(&name, &age, &email)...}// Raw SQLrows, err := db.Raw("select name, age, email from users where name = ?", "jinzhu").Rows() // (*sql.Rows, error)defer rows.Close()for rows.Next() {...rows.Scan(&name, &age, &email)...}

1.1.3. 迭代中使用sql.Rows的Scan

    rows, err := db.Model(&User{}).Where("name = ?", "jinzhu").Select("name, age, email").Rows() // (*sql.Rows, error)defer rows.Close()for rows.Next() {var user Userdb.ScanRows(rows, &user)// do something}

相关文章:

  • 深入解析 HTTP 中的 GET 请求与 POST 请求​
  • Android Framework学习七:Handler、Looper、Message
  • 【DCGMI专题1】---DCGMI 在 Ubuntu 22.04 上的深度安装指南与原理分析(含架构图解)
  • 谷歌宣布推出 Android 的新安全功能,以防止诈骗和盗窃
  • Opencv常见学习链接(待分类补充)
  • 企业级物理服务器选型指南 - 网络架构优化篇
  • 【小明剑魔视频Viggle AI模仿的核心算法组成】
  • 什么是Rootfs
  • Python的蚁群优化算法实现与多维函数优化实战
  • 雷军:芯片,手机,平板,SUV一起发
  • Java 06API时间类
  • Backend - Oracle SQL
  • Sql刷题日志(day9)
  • Ansible模块——管理100台Linux的最佳实践
  • Ansible模块——通过 URL 下载文件
  • HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
  • django回忆录(Python的一些基本概念, pycharm和Anaconda的配置, 以及配合MySQL实现基础功能, 适合初学者了解)
  • 人工智能+:职业技能培训的元命题与能力重构
  • HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南
  • 从混乱到高效:我们是如何重构 iOS 上架流程的(含 Appuploader实践)
  • 翻越高山,成为高山!浙江广厦成CBA历史第八支夺冠球队
  • 冒充现役军人、自称有中国兵工集团投资内幕,2人被刑拘
  • 韩国第二大轮胎制造商因火灾停产,或影响700万条轮胎销售
  • 秦洪看盘|热门股或将退潮,短线波动难免
  • 香港油麻地旧警署将向游客开放
  • 4名中学生同服处方药后身体不适,一心堂一药店未凭处方售药被罚1万元