gorm 数据库表模型声明 - 基础

gorm 数据库表模型声明 - 基础 链接数据库 1 2 3 4 5 6 7 8 9 10 import ( "gorm.io/driver/mysql" "gorm.io/gorm" ) func main() { // refer https://github.com/go-sql-driver/mysql#dsn-data-source-name for details dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) } 常用字段类型与 gorm 默认字段类型 varchar, int, datetime, timestamp 表定义如下 1 2 3 4 5 type Author struct { gorm.Model Name string Password string } auto migrate 后, 可以看到 name, password 默认使用的是 longtext 类型。 1 2 3 4 5 6 7 8 9 10 11 12 show create table authors; CREATE TABLE `authors` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `created_at` datetime(3) DEFAULT NULL, `updated_at` datetime(3) DEFAULT……

阅读全文

golang deepcopy 的两种实现方式

Golang 实现深拷贝(DeepCopy)的两种方式 如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。 状态: 未更新 原文链接: https://typonotes.com/posts/2021/12/14/golang-struct-interface-deepcopy/ golang deepcopy 的两种实现方式 最近在基于 gin 封装 rum-gonic - github web 框架的过程中,遇到了一个问题。 在注册路由的时候传递是 指针对象, 因此造成所有的 request 请求使用相同的 CreateUser 对象, 出现并发……

阅读全文

Mysql 外键

Mysql 外键 如果说 mysql 中的 left/right/out join 查询 软链接 关系, 只是通过看似有关系的字段把两张表聚合在一起。 那么 foreign key 就是 硬连接 , 实实在在把两张表聚合在一起。 如果数据的字段的值 不符合 所连接表, 将不允许输入 插入或修改 数据。 创建外键 准备环境 1 2 3 4 5 6 7 create database day123 default charset utf8 collate utf8_general_ci; use day123; create table depart( id int not null primary key auto_increment, name varchar(32) not null ) default charset=utf8; 创建……

阅读全文

mysql 查询操作

mysql 查询操作 初始化环境 创建数据库, 1 2 3 4 -- create database create database day111 default charset utf8 collate utf8_general_ci; use day111; 创建用户表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 -- create table user create table user ( id int not null primary key auto_increment, name varchar(6) not null, password varchar(32) not null, age int, salary int null default 0, depart_id int not null ) default charset=utf8; -- insert into `user` (name, `password`, age, salary,depart_id) values ("诸葛亮","zhuge123",3……

阅读全文

mysql table 操作

Mysql - table 操作 创建数据库 1 create database 数据库名 default charset utf8 collate utf8_general_ci; 查看所有表 1 show tables; 创建数据表 1 2 3 4 5 6 7 8 9 10 11 12 13 create table 表名( 列名 类型, 列名 类型 ) default charset=utf8; --- create table user ( id int not null auto_increment primary key, -- 不允许为空,主键, 自增 name varchar(16) not null, -- 不允许为空 email varchar(32) null, -- 允许为空, 长度为 32 age int default 3 -- 默认值 ) default charset=urf8; 注意 : 一张表只能 有且只有一个 自增列……

阅读全文

Mysql 常见数据类型 int char timestamp

Mysql 数据类型 https://dev.mysql.com/doc/refman/5.7/en/data-types.html 整数类型 1 2 3 4 5 6 7 8 mysql root@localhost:db1> create table table_int( int_no int unsigned, biging_no bigint, tinyint_no tinyint ) default charset=utf8; Query OK, 0 rows affected Time: 0.028s int 取值范围 -2^31 ~ 2^31-1 unsigned : 取之范围 0 ~ 2^32-1 bigint 取值范围 -2^63 ~ 2^63-1 tinyint 取值范围 -128 ~ 127 小数类型 Float 使用 32位浮点数保存。 不精确。 Double 使用 64 位浮点数保存。 不精确。 Decimal decimal 精确的小数值, m 数字的总个数(负号部分不算, 含 小数部分); d……

阅读全文

Mysql 基础练习 01

Mysql 基础练习 01 根据表格创建数据库表,注意编码。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 create database db01 default charset utf8 collate utf8_general_ci; use db01; create table userinfo ( id int not null auto_increment primary key, name varchar(32) not null, password varchar(64) not null, gender enum('male','female') not null, email varchar(64) not null, amount decimal(10,2) not null default 0, ctime datetime ) default charset=utf8; show tables; +----------------+ | Tables_in_db01 | +----------------+ | userinfo | +----------------+ 1 row in set 插入任意五条数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26……

阅读全文

K8S 中被挂载的 Configmap 发生了变化容器内部会发生什么

K8S 中被挂载的 Configmap 发生了变化容器内部会发生什么 1. 使用 env 挂载 被挂载的值不会变 1 2 3 4 5 6 7 env: # 定义环境变量 - name: PLAYER_INITIAL_LIVES # 请注意这里和 ConfigMap 中的键名是不一样的 valueFrom: configMapKeyRef: name: game-demo # 这个值来自 ConfigMap key: player_initial_lives # 需要取值的键 使用 volumeMounts 挂载目录 在使用 volumeMounts 挂载的时候, 根据是否有 subpath 参数, 情况也不一样。 2.1 没有 subpath 挂载目录 1 2 3 volumeMounts: - name: config mountPath: "/config/normal-dir/some-path/"……

阅读全文

gin 实现首页不缓存

在 gin 中实现首页不缓存 之前提到了在 nginx 中添加响应头 Cache-Control: no-cache 不缓存首页, 以便每次发布 CDN 都能回源到最新的资源。 nginx 的配置可能都是实施人员的操作, 或许不在掌控范围内。 自己控制起来很简单, 无非就是加一个 Header 头嘛。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 一……

阅读全文

配置文件初始化思路一二三

配置文件初始化思路要点一二三 配置文件字段如下 1 2 3 4 type Config struct { Server Server `json:"server,omitempty" yaml:"server,omitempty"` Ingresses netv1.IngressSpec `json:"ingresses,omitempty" yaml:"ingresses,omitempty"` } 完整配置如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 server: port: 8080 ingresses: rules: - host: www.baidu.com http: paths: - backend: service: name: /search port: number: 80 pathType: ImplementationSpecific # pathType: Exact # pathType: Prefix Config 文件 读取多个文件后合并最终结果。 可以将不同的功能配置放在不同的文件中, 在数据内容多的情况下更有利于操作。……

阅读全文

福利派送

  • (免费星球)「运维成长路线」

  • 又拍云免费 CDN

最近文章

分类

标签

其它