全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页

GORM 初级技能认证测试

20 题 40 分钟 难度:

考察知识点

  • GORM 基础概念: ORM 概念、GORM 特性、安装与初始化、DB 连接配置
  • CRUD 基础操作: 创建、查询、更新、删除操作,条件查询,链式调用,批量操作
  • 模型标签与字段配置: struct 标签、字段类型、主键索引、约束配置、默认值设置
  • 数据库迁移基础: AutoMigrate 自动迁移、表结构管理、字段变更
1
单选题

以下关于 GORM 框架的描述,哪一项是正确的?

A

GORM 是 Python 语言中的 ORM 框架

B

GORM 支持自动迁移和关联关系管理

C

GORM 只能用于 MySQL 数据库

D

GORM 不支持事务操作

2
判断题

在 Go 项目中安装 GORM 可以使用 go get -u gorm.io/gorm 命令。

A

B

3
单选题

GORM 默认将结构体名称转换为哪种格式的表名?

A

保持原样,如 UserAccount

B

蛇形命名并复数化,如 user_accounts

C

驼峰命名,如 userAccount

D

全小写,如 useraccount

4
判断题

gorm.Model 是 GORM 提供的模型基结构体,嵌入后会自动获得 ID、CreatedAt、UpdatedAt、DeletedAt 四个字段。

A

B

5
单选题

GORM 默认将结构体 User 映射到什么表名?

A

user

B

users

C

User

D

t_user

6
单选题

GORM 的 Update 方法和 Updates 方法的主要区别是什么?

A

Update 更新单字段,Updates 更新多字段

B

Update 需要指定列名,Updates 从结构体提取

C

Update 用于单条记录,Updates 用于批量更新

D

两者完全相同,只是命名不同

7
多选题

以下哪些是 GORM 支持的更新方式?

A

db.Model(&user).Update("name", "新值")

B

db.Model(&user).Updates(User{Name: "新值"})

C

db.Save(&user) 保存整个结构体

D

db.Update(&user) 直接更新

8
判断题

使用 Updates 方法传入结构体时,零值字段(如 0、空字符串)不会被更新到数据库。

A

B

9
单选题

使用 db.Create(&user) 创建记录后,user 对象的 ID 字段会怎样?

A

保持原值不变

B

自动填充数据库返回的主键值

C

被设置为 0

D

返回错误

10
多选题

以下哪些是 GORM 支持的批量创建方式?

A

db.Create([]User{user1, user2})

B

db.CreateInBatches(users, 100)

C

循环调用 db.Create(&u)

D

db.BulkCreate(users)

11
单选题

db.First(&user) 和 db.Take(&user) 的主要区别是什么?

A

First 按主键排序取第一条,Take 无排序

B

First 返回错误如果有多条,Take 不返回

C

两者完全相同

D

Take 只能用于软删除模型

12
单选题

在 GORM 模型中,如何为字段设置数据库列名?

A

json:"column_name"

B

gorm:"column:column_name"

C

db:"column_name"

D

sql:"column_name"

13
多选题

以下哪些是 GORM 的 gorm tag 支持的配置项?

A

column 指定列名

B

type 指定数据库类型

C

primaryKey 设置为主键

D

json 设置 JSON 格式

14
多选题

以下关于 GORM 默认值标签的描述,哪些是正确的?

A

默认值在 AutoMigrate 时应用到数据库

B

插入记录时,如果字段为空会自动使用默认值

C

默认值只在数据库层面生效,不影响 GORM 行为

D

可以使用 current_timestamp 设置时间默认值

15
单选题

如何为 GORM 模型的 Name 字段创建普通索引?

A

gorm:"index"

B

gorm:"uniqueIndex"

C

gorm:"primary_key"

D

gorm:"autoIncrement"

16
填空题

密码字段可以配置为只写(创建时写入,查询时不返回),使用 gorm 标签____________

17
单选题

GORM 的 AutoMigrate 方法的主要作用是什么?

A

自动删除不存在的表

B

自动创建表和添加缺失的列与索引

C

自动插入测试数据

D

自动备份数据库

18
判断题

AutoMigrate 适合在生产环境中使用,因为它会自动处理数据迁移和兼容性。

A

B

19
单选题

以下哪个方法可以检查数据库中是否存在指定表?

A

db.HasTable(&User{})

B

db.TableExists("users")

C

db.CheckTable(&User{})

D

db.HasModel("User")

20
单选题

如何手动创建 User 模型对应的数据库表?

A

db.CreateTable(&User{})

B

db.Migrator().CreateTable(&User{})

C

db.Exec("CREATE TABLE users...")

D

B 和 C 都可以

← 上一个试卷 GORM 中级技能认证测试
下一个试卷 → GORM 基础概念专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库