1. gorm基础新——传统sql的增删改查

mysql里面的建库,建表,删库,删表

添加记录,查询,删除记录,更新记录这些命令是一定要会的

就算我们脱离orm这些,也能直接连上数据库进行操作

mysql安装

mysql的安装我就不用再讲了

可以用小皮面板,也可以用docker

可以去看看我的这个视频

2.mysql保姆级安装_哔哩哔哩_bilibili

需要强调一点的是,我们使用的mysql是CS模式,分为mysql客户端和mysql服务

你能在命令行里面使用mysql命令连上数据库。是因为装了mysql客户端

navicat、jdbc、还有编程语言中连接数据库的库都算是客户端

数据库操作

# 查询全部的数据库
show databases;

# 创建数据库 并指定字符集和排序方式
create database gorm_new_db
    character set utf8mb4
    collate utf8mb4_unicode_ci;

# 选中数据库
use gorm_new_db;

# 删除数据库
drop database gorm_new_db;

表操作

# 查询当前库的所有表
show tables;


# 建表
create table users
(
    id         bigint unsigned auto_increment primary key,
    name       varchar(50)  not null default '',
    age        int unsigned not null default 0,
    email      varchar(100) not null default '',
    created_at datetime              default current_timestamp,
    updated_at datetime              default current_timestamp on update current_timestamp
) engine = innodb
  default charset = utf8mb4
  collate = utf8mb4_unicode_ci;

# 插入数据
insert into users (name, age, email)
values ('张三', 18, 'zhangsan@example.com'),
       ('李四', 20, 'lisi@example.com');

# 查询数据
select  * from users;


# 删除数据
delete from users where id = 1;

# 更新数据
update users set name = '张三丰', age = 38 where id = 2;

# 删除表
drop table users;
好的,下面是gorm增删改查示例: 首先,我们需要定义一个结构体来映射我们的数据表: ```go type User struct { ID uint `gorm:"primary_key"` Name string `gorm:"type:varchar(20);not null"` Age uint8 `gorm:"not null"` Email string `gorm:"type:varchar(100);unique_index"` Password string `gorm:"type:varchar(255);not null"` } ``` 接下来,我们需要创建一个数据库连接并进行初始化: ```go import ( "gorm.io/driver/mysql" "gorm.io/gorm" ) dsn := "user:password@tcp(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic(err) } // 自动迁移数据表,如果数据表不存在则会自动创建 err = db.AutoMigrate(&User{}) if err != nil { panic(err) } ``` 创建成功后,我们可以进行增删改查操作了: 1. 增数据 ```go user := &User{ Name: "Tom", Age: 18, Email: "tom@example.com", Password: "123456", } // 创建记录 result := db.Create(user) if result.Error != nil { panic(result.Error) } ``` 2. 查询数据 ```go var users []User // 查找所有记录 result := db.Find(&users) if result.Error != nil { panic(result.Error) } // 根据条件查找记录 result = db.Where("age > ?", 18).Find(&users) if result.Error != nil { panic(result.Error) } ``` 3. 更数据 ```go // 根据主键更记录 result := db.Model(&User{}).Where("id = ?", 1).Update("age", 20) if result.Error != nil { panic(result.Error) } ``` 4. 删除数据 ```go // 根据主键删除记录 result := db.Delete(&User{}, 1) if result.Error != nil { panic(result.Error) } ``` 以上就是gorm增删改查示例,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值