把 MySQL 的小机关慢慢理顺
复习 MySQL 的时候,最容易烦的地方不是 SQL 有多难,而是很多概念长得太像了。 CHAR 和 VARCHAR 像一对双胞胎,WHERE 和 HAVING 总在相邻位置出现,DELETE 和 TRUNCATE 都像是在删数据,结果脾气完全不一样。 所以这篇就不把它写成硬邦邦的清单了。我们把 MySQL 当成一间小小的数据房间,一格一格看清楚:哪些东西负责存放,哪些东西负责约束,哪些东西负责查询,哪些东西负责在关键时刻兜底。 一、先从数据类型开始数据库里的字段类型,其实就是在告诉 MySQL:这个格子里准备放什么东西。 CHAR 和 VARCHARCHAR(n) 是固定长度,像提前画好的格子。不管实际内容有多短,它都会按 n 个字符的位置来占空间,不够的地方用空格补上。 VARCHAR(n) 是可变长度,像会伸缩的小盒子。实际写了多少,它就尽量按多少来存,只是额外用一点空间记录长度。 类型 长度 更适合的场景 CHAR(n) 固定长度 编号、状态码这类长度稳定的数据 VARCHAR(n) 可变长度 姓名、标题、备注这类长度不固定的数据 可以简单记成: 1...
把 ECharts 当成一张温柔的配置表
备考数据可视化的那段时间,不知道为什么总喜欢在很晚的时候看文档。 窗外安静,屏幕亮着,翻着翻着就忽然觉得——ECharts 这个东西,好像不太一样。 它不像平时写 Java 或者 Python,不是在命令计算机”先做这个,再做那个”。更像是在填一张小表格。你把标题放进 title,把坐标轴放进 xAxis,把数据放进 series,然后图就出来了。很乖,不问多余的问题。 后来想通了:ECharts 不需要死背。先把骨架记住,再根据图表类型换零件就好。外套不一样,人还是那个人。 一、通用骨架大部分图表都长这样: 123456789101112var option = { title: { text: '图表标题' }, tooltip: {}, legend: { data: ['系列名称'] }, xAxis: { type: 'category', data: ['A', 'B...
在星光落下之前
傍晚的云被染成了浅浅的粉色,风从窗边经过,把今天最后一点燥热也带走了。 我忽然觉得,应该找一个地方,把那些容易被忘记的小事好好收起来。 可能是一首循环了很多遍的歌,一张偶然拍到的晚霞,也可能只是某个瞬间突然冒出来的奇怪念头。它们看起来并不重要,却悄悄组成了生活闪闪发亮的部分。 欢迎来到星屿这里不会有宏大的开场,只有一些轻飘飘的日常、喜欢的作品,以及偶尔认真写下的心情。 如果你也刚好路过,就坐一会儿吧。 愿我们都能在平凡的日子里,捡到属于自己的小星星。✨