![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 52
刘长晴
放弃不难,但坚持一定很酷!
展开
-
session、token、jwt 区别
序言在网上看了很多博客,说法比较多,我想说下关于我自己的理解,可以简单理解他们都是为了解决 http 无状态特性产生的一些鉴权问题问题首先用户登录完成后,http 不能保存这个状态,后续的请求服务器是不知道我们是否有请求的权限的,为了解决这个问题,引入了下面几种常见的技术session1. 通过 session 机制,相当于服务器为客户端开辟的一个存放登录信息信息的房间,并把钥匙返回给客户端。2. 每个客户端访问都会带上自己的钥匙(session id),服务器收到请求后打开对应的房原创 2022-03-31 11:04:43 · 1458 阅读 · 4 评论 -
mysql 本日、本周、本月、本年 统计
大家注意这里的 sql 统计的是 “本周”不是 “过去一周”例如:今天是周三,统计的是本周一到周日这个时间段,而不是上周三到本周三这 7 天* 所有 sql 中的 date 为我们对应表的 日期字段本日select * from demowhere date =date(now())本周通常,一年的正常年份为365天,闰年为366天。一年又可以分为许多周,每周有7天。 所以一年,我们经常有365/7 = 52周,周范围是从1到52。这里需要注意,mysql 中的 wee原创 2022-02-22 11:57:33 · 2273 阅读 · 3 评论 -
Mysql - 带条件求和(sum)
已有表:例:需要求 age 大于等于 20 的共计 多少 ?可能有的童鞋,给出以下答案select sum(age) from test where age >= 20如果是 age 小于等于 20 的呢 ?这还不简单,换下条件就行select sum(age) from test where age <= 20但是问题如果是,求 age 大于等于 20,和小于等于 20 的各有多少,如果用上边的方式也可以拿到结果,但是不够简洁,这时候我们可以用到下面的语句.原创 2021-10-13 17:28:26 · 11693 阅读 · 0 评论 -
Mysql - 带条件计数(count)
mysql 统计条数很简单, 使用 count 函数就行已有数据:先聊聊 count(*) 和 count(字段) :区别:count(*) 包含 null 值的条目,count(字段) 则不包含count(*) // 返回 3count(name) // 返回 2,去除了 第三条 null 值记录性能:网上众说纷纭,其实想想 * 是不需要知道内容的,计数就行。而 字段 则多了一层是否为 null 的判断,效率应该是 count(*) 会高一些,但是除非是海量的数据量,区别应该原创 2021-10-13 17:10:25 · 28607 阅读 · 3 评论 -
golang orm数据库插入null值
不知道大家在用golang orm框架的时候有没有遇到过这个问题,比如有表 person 字段 age、name, name不能重复所以设置了唯一索引(unique)// go 结构体type Person struct { Name string // unique Age int}大家都知道,stirng的默认值为空字符串(""), 所以在插入的时候,name默认就被orm框架插入成空字符串了,等到第二条就会报索引值重复的问题// go 结构体type Perso原创 2020-11-30 16:41:59 · 2740 阅读 · 1 评论 -
启动mysql报错 Error on realpath()
问题docker 使用mysql8镜像时加载指定的外部配置文件和存储目录,报错mysqld: Error on realpath() on '/var/lib/mysql-files' (Error 2 - No such file or directory原因当指定了外部配置文件与外部存储路径时,也需要指定/var/lib/mysql-files的外部目录解决1. 在主机新建/home/mysql/mysql-files目录2. 在启动容器时 需要加上 -v /home/...原创 2020-08-25 11:37:55 · 3869 阅读 · 1 评论 -
mysql 表名大小写敏感问题
问题# 已有表 userselect * from user # 可以查出来select * from USER # 报USER不存在* 这在一些orm框架里可能会产生问题,比如默认使用大写的表名,导致找不到表或者报错原因mysql表名大小写再linux环境默认为敏感的解决首先我们可以在mysql中通过如下命令查看当前是否为大小写敏感show variables like '%lower_case_table_names%'; 1:表示是大小写不敏感...原创 2020-08-25 11:31:41 · 493 阅读 · 0 评论