前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GO语言基础之gorm操作mysql数据库表

GO语言基础之gorm操作mysql数据库表

原创
作者头像
墨紫羽墨
发布2022-03-28 18:33:10
2K0
发布2022-03-28 18:33:10
举报
文章被收录于专栏:FutureTester

1、创建表

代码语言:go
复制
package mysql

import (
	"fmt"
	"testing"
	"time"
)

type Like struct {
	ID        int       `gorm:"ID,primary_key"`
	Ip        string    `gorm:"IP,type:varchar(20);not null;index:ip_idx"`
	UserName  string    `gorm:"USER_NAME,type:varchar(256);not null;"`
	Title     string    `gorm:"TITLE,type:varchar(128);not null"`
	CreatedAt time.Time `gorm:"CREATED_AT"`
}

type base struct{}

func (Like) TableName() string {
	return "like"
}

func createTableGorm() {
	// 创建表
	db := sqlLocalClient()
	db.Migrator().CreateTable(&Like{})
}

func TestCreateTable(t *testing.T) {
	createTableGorm()
}

执行SQL结果:

根据结构体创建出来的数据库表如图:

2、删除表字段

代码语言:go
复制
func dropColumn() {
	db := sqlLocalClient()
	// 删除字段 ip
	db.Migrator().DropColumn(&Like{}, "ip")
}

执行SQL结果:

数据库表的ip字段已删除

3、修改表字段名称

代码语言:go
复制
func renameColumn() {
	db := sqlLocalClient()
	// 修改字段名称
	db.Migrator().RenameColumn(&Like{}, "user_name", "name")
}

执行SQL结果:

修改后的数据库表:

4、检查数据库表字段是否存在

代码语言:go
复制
func hasColumn() {
	db := sqlLocalClient()
	// 检查字段是否存在
	user_name := db.Migrator().HasColumn(&Like{}, "user_name")
	name := db.Migrator().HasColumn(&Like{}, "name")
	fmt.Printf("user_name: %+v,name:%+v\n", user_name, name)
}

执行SQL结果:

5、检查表是否存在

代码语言:go
复制
func hasTable() {
	db := sqlLocalClient()
	// 检查表是否存在
	like := db.Migrator().HasTable(&Like{})
	base := db.Migrator().HasTable(&base{})
	fmt.Printf("like: %+v \t base: %+v\n", like, base)
}

执行SQL结果:

6、修改数据库表名称

代码语言:javascript
复制
func renameTable() {
	db := sqlLocalClient()
	// 修改表名
	db.Migrator().RenameTable("like", "info")
}

执行SQL结果:

7、删除表

代码语言:javascript
复制
func deleteTable() {
	db := sqlLocalClient()
	// 删除表
	db.Migrator().DropTable(&Like{})
}

在删之前需要把表名在改回like

执行SQL结果:

这部分操作我们在工作中基本用不到,一般都不会给与我们权限的,可以作为了解

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、创建表
  • 2、删除表字段
  • 3、修改表字段名称
  • 4、检查数据库表字段是否存在
  • 5、检查表是否存在
  • 6、修改数据库表名称
  • 7、删除表
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档