作为一个程序员的你,是如何管理碎片化的 SQL 语句呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
samzong
V2EX    程序员

作为一个程序员的你,是如何管理碎片化的 SQL 语句呢?

  •  
  •   samzong
    samzong 2021-12-22 01:44:12 +08:00 4170 次点击
    这是一个创建于 1388 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在最近一段时间内大量在写各种各样的 SQL ,满足业务和自己分析的需要;主要 穿插在 Hive/MySQL 的时间非常的多,愈发感觉大量的时间在进行重复的 SQL 编写,产生了很多临时 /碎片的 SQL ,但在对碎片的 SQL 管理和再利用做的很不好,也没有一个趁手的工具,

    目前尝试了几个方式,但感觉都不满意,所以来请求广大 V 友给些指点

    • 使用笔记工具管理 Notion,语雀
    • 使用 Vscode 编辑,使用 git 进行管理

    比较看重的功能: 检索能力 & SQL_FORMAT

    16 条回复    2021-12-23 11:53:05 +08:00
    Bluefissure
        1
    Bluefissure  
       2021-12-22 02:13:25 +08:00
    levelworm
        2
    levelworm  
       2021-12-22 02:15:14 +08:00 via Android
    我也没啥太好的办法,就是用 datagrip 集中管理一个线上目录,同时本地用 git 做版本管理。但是如果你做分析的话,很多时候还是没办法对某个专门的查询了如指掌。
    dcoder
        3
    dcoder  
       2021-12-22 02:34:07 +08:00
    你这个是需要 code snippets 管理工具吧
    CEBBCAT
        4
    CEBBCAT  
       2021-12-22 02:55:22 +08:00 via Android
    唔,这个还需要管理吗?不是写完就上线了吗?

    也许可以教 GitHub 的 copilot ,然后你写注释他写代码
    philxjl
        5
    philxjl  
       2021-12-22 06:41:28 +08:00
    感觉可以考虑使用 VS Code -> Perference -> User snippet
    大概结构参考: https://code.visualstudio.com/docs/editor/userdefinedsnippets
    支持设置预先参数,鼠标最终停放位置,可以借助`prefix`进行搜索,结合 GitHub 登录进行不同设备 VS Code 的同步
    kujio
        6
    kujio  
       2021-12-22 08:56:38 +08:00
    你没用过 dateGrip 吧,Jetbrains 家的,项目化管理 sql 语句 /脚本,支持大多数数据库,
    我最近几个月也是写了几百条 sql 语句,用的 dateGrip
    kujio
        7
    kujio  
       2021-12-22 09:00:28 +08:00   1
    对了 dateGrip 还支持 sql 语法高亮,表名、列名、方法名自动补全,还有语句补全,表可以直接打开像 excel 一样修改,
    SmiteChow
        8
    SmiteChow  
       2021-12-22 09:49:11 +08:00
    随意找一个数据库 GUI 客户端都能管理
    RRRoger
        9
    RRRoger  
       2021-12-22 09:53:37 +08:00
    gist 或者 gitlab 的 snippets
    LING97
        10
    LING97  
       2021-12-22 10:07:45 +08:00
    语雀就行,符合你那两个要求。
    WhereverYouGo
        11
    WhereverYouGo  
       2021-12-22 10:25:00 +08:00
    datagrip 推荐
    moliliang
        12
    moliliang  
       2021-12-22 10:32:23 +08:00
    试试 sql 生成器,写好基础 sql ,然后其他的代码基于这些 sql 传入 where 等语句。
    用代码解决重复写 sql 的问题吧~
    Seayon
        13
    Seayon  
       2021-12-22 10:57:18 +08:00
    用了几个月 DataGrip ,除了界面显示个人觉得比较乱以外,其他都完美契合我的需求,尤其是语法高亮,强大的自动化补全,自定义导出为各种格式等等。
    所以求问下具体怎么用 DataGrip 结合 Git 来管理 SQL ?
    Seayon
        15
    Seayon  
       2021-12-22 12:11:41 +08:00
    @banmuyutian #14 非常感谢,我也搜到这篇了,但是看起来没和现有的 DataGrip 控制台联合起来,用的还是文件形式,我以为还会有其他方法
    onhao
        16
    onhao  
       2021-12-23 11:53:05 +08:00
    mysql 自带的 mysql workbench 没人用吗?
    使用 mysql workbench 来管理复用自己的 SQL 语句 https://wuhao.pw/archives/291/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3440 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:23 PVG 12:23 LAX 21:23 JFK 00:23
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86