求“我想要的那种数据库软件”推荐

不管你使用Excel还是数据库,其实最主要的都是管理问题,如果未来存在大量,那么当然数据库是一种选择。只要你前端支持base64的编码解码,其实文字图片都是一样的。可是大量的数据也要考虑数据库表设计的合理性。而且如果本地数据库,还开需要考虑其他问题。
对于非专业又不想花大量时间去研究这一块的,其实Excel或者笔记管理软件都是一种选择。但是笔记软件其实也是需要分目录分文件进行存储的,否则最终都会卡。
Excel表在大于一定行数时候也会卡顿,而且检索方面其实也是个问题。倒是存在此类全文检索软件,但是巨量体积的Excel最终就是某一日打不开或者打开编辑困难。
所以就涉及到分表保存的想法。其实分多个Excel表,然后使用软件管理也是一种不错的办法!
文件管理软件分为树形管理和非树形的管理,树形就是一层套一层的传统方式,好处是符合传统习惯,不好的地方就是不够灵活。
非树形的文件管理就是一些标签类管理软件,标签之间支持交集并集。不但可以实现传统的管理,还可以进行组合,假如某个文件,产生于某个时间,又属于某个科室、单位,又属于某个区域等等,那么在文件上可以加上时间、可是、单位、区域等等标签,需要的时候自己组合即可筛选出符合的。
当然还有一种懒人的做法,就是随便分表(Excel等等),然后拿数据目录检索软件生成类似的文字索引,然后需要的时候检索在哪个文件里,定位打开即可。
所以怎么搞都有方法,关键是看你自己的投入和习惯~

1 个赞

首先叠个甲,我不是专业的,只是接触过数据库查询的一些工作,下面的说的仅是个人理解。

1、同意

感觉你提到的这些都是管理软件,不是数据库本身。就像你说的Markdown,你可以用typora或者其他软件编辑,但你不能说typora就是markdown。图片存在数据库里就是一堆二进制数据,要查看,可能需要一些其他的方法,比如导出,或者能直接查看图片的管理软件之类的。我记得oracle里,查看二进制的数据字段,是可以选择一些文件格式的。
2. 数据库默认不会给你加载渲染图片,看到的就是二进制乱码。
3. 不知道你说的测算是指什么,如果是我理解的计算的话,数据库查询的时候,是可以进行运算的,基本的数学运算都可以,复杂的不太清楚。
4. 数据库就是为了存储、查询用的,所以检索不会有卡顿。如果慢,可能是没给相应的字段加索引。
5. 数据分析,不是数据库的强项,可以将查询出的数据导入其他软件,或者将数据库连接到一些数据分析软件上做分析。以前用过一个开源的,不过忘了叫什么名字了,等我找找再来回复 :cry:

1 个赞

测算就是指,像excel那样,设个公式=A1+B2/3 这种,马上利用表中数据测算些东西。

excel分表不行,我是需要在一张表查询,看我最下面的总结。

感谢以上所有朋友的建议。我最终确定继续用SQLiteBrowser(以下简称SQLB),原则上放弃图片,偶尔存两张十分重要的。

你们提到Airtable类的,我试用了几款前排的:
1、感觉和数据库一样,只不过是网页版。
2、特色就是不写代码。但SQLB也不需要写,能直接上手就用。
3、开源版限制很多,每表/库那点行数根本不够用,速度也比不上本地的快。
4、图片也是作为附件上传的,不能原地缩放迅速查看。SQLB可以在详情栏滚轮缩放。
5、filters,简单摸索了下,暂没发现可以全局过滤的,只能按列。我从外部接收的数据是不规范的,也无力调整,只能一个关键词过滤所有列,SQLB完美实现。
6、这类产品也不支持单元格计算,我放弃这个需求,还是复制到excel再加工吧。

另外再提一个SQLB的优点,“附加数据库”功能,DBeaver、DBGate等都没有。
这是在当前数据库下,再挂载几个数据库从属于他,于是就可以用SQL语句合并到一张表,以便于过滤查询:

DROP TABLE IF EXISTS merged_table; --如果存在,则删除已有表。结尾的分号很重要!每条SQL语句后都必须以分号;结尾,否则认为是上一条命令的后续!
CREATE TABLE IF NOT EXISTS merged_table AS --如果不存在,则创建表
SELECT * FROM ‘表1’ UNION ALL --合并表。UNION ALL: 保留重复的行;UNION:去除重复行
SELECT * FROM ‘表2’ UNION ALL
SELECT * FROM ‘表3’

为什么要这样玩儿?因为表来源很多,我会每表单独建立数据库,便于管理。
而每次查询又不需要用到所有的库,这样按需挂载,注释掉不用的行就可以了,方便开关。

综上,就踏踏实实用SQLB了,开始疯狂迁移数据!

再此感谢所有热心朋友!

1 个赞

可以,自己写sql 语句即可。

1 个赞

请细说 :kissing_smiling_eyes:,比如此表:

现需要在蓝色单元格,利用价格列中某个数据,做公式计算。就临时用用,完事就删了。
但并不是整个备注列都显示同一个公式运算的结果,这个我知道是可以用语句实现的。

SELECT
  (SELECT price * 3 FROM table WHERE 产品= 'aaa' AND 型号= 'd1') +
  (SELECT price / 6 FROM table WHERE 产品= 'ccc' AND 型号= 'f3') AS total_price;

大概是这样?

1 个赞

如果日后也需要做相同的计算,建议把查询语句存成 “视图”。在数据库中,“表” 只存储静态的数据,不存储计算过程;而视图则只存储查询语句,不存储数据。查看 “视图” 时,系统会执行存储在其中的查询语句,并展示查询结果。当然,也可以做一些计算。

1 个赞

我运行了,没效果呢… 是指显示到total_price这列吧?

哦,我看到了,运行结果栏 338!!只能这样用吗?不能显示到表格内的?

SQL 应该是不可以像 Excel 那样,在单独某个单元格内显示特定结果的。SQL 都是按列操作。

1 个赞

那你就用insert吧,自己查一下怎么插入,不过,如果临时用一下,不建议插入到表里。

1 个赞

好,看了,大概知道视图时啥了。但是也很麻烦,还不如复制到excel随便算一算。

ok,写语句还不如用excel算了。因为每次计算的公式都不一样。谢谢!

是的,感觉数据库是作为数据管理的,对具体数据的计算,还是excel方便。

我想到用ahk写个热键,在SQLB中一建复制选中格的数据,自动打开excel并粘贴。然后excel中写个热键,一键关闭,且"不保存"。很便捷。

好,就这样定型了,开始干活。 :v:

看你们还在讨论,发一下自己的小玩具。

看了,我理解的,前端用excel呈现,后端是db?放在了服务器上,按需拉取?图片也链接到服务器上的图床。

我还不懂服务器、建站这类东西。以后有这个需求再来深度研究您的作品。谢谢分享!

另外,readme链接已恢复了,好评!

你都会用 SQL 了,再加上一些报表软件,就是一套很不错的 BI 了哈哈。如果能够提升公司的效益,你还可以考虑找个厉害的程序员过来把软件做起来拿去卖钱算了。