• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Firesnail
V2EX  ›  程序员

大家数据库建表都是徒手写 Sql 还是利用 GUI 等一些工具来建表?

  •  
  •   Firesnail · Oct 10, 2017 · 11783 views
    This topic created in 3315 days ago, the information mentioned may be changed or developed.

    大家都用啥?有啥好用的工具没?例如 workbench,pgadmin 等

    60 replies  •  2017-10-11 12:59:07 +08:00
    pofycn
    pofycn
    Oct 10, 2017 via iPhone❤️2
    1
    hedisql
    l00t
    l00t
    Oct 10, 2017
    2
    手写
    tabris17
    tabris17
    Oct 10, 2017
    3
    hedisql+1
    免费的
    f2f2f
    f2f2f
    Oct 10, 2017
    4
    Toad
    Mac
    Mac
    Oct 10, 2017
    5
    hedisql +1,话说这个版本狂最近都没更新过
    awolfly9
    awolfly9
    Oct 10, 2017
    6
    @pofycn @tabris17 hedisql 不支持 mac
    xsd3169
    xsd3169
    Oct 10, 2017
    7
    Navicat Premium
    hjq98765
    hjq98765
    Oct 10, 2017
    8
    Navicat Premium

    有时候用 excel 批量手写代码
    y835L9DyC5XD09kq
    y835L9DyC5XD09kq
    Oct 10, 2017❤️2
    9
    mac 上的 Sequel Pro 很好用
    awolfly9
    awolfly9
    Oct 10, 2017
    10
    @kangkang 导入导出还有拷贝表不方便
    yulitian888
    yulitian888
    Oct 10, 2017❤️1
    11
    只是建表的话,手写和工具有区别吗?工具一样有手写功能。
    但是建表往往并不意味着只是 create table。
    比如
    场景 1:版本迭代加了几个字段,甚至还是 not null 的 /有外键的。那么需要做 [增量发布脚步] 才能满足需要
    场景 2:同时使用多种数据库,或者一种数据库的不同版本,在关键字和语法上有少许差异。而一个开发者可能并不熟悉其中的细节区别。

    这两种场合下,能够用 IDE 自动生成增量包,自动生成 Create/Alter 脚本显然比手写稳妥得多
    另有场景 3,4,5,6,7....就不一一列举了,如果手写能搞定一切(注意是一切)的话,那些做 IDE 的厂商难道是脑子进水了才去开发 IDE 出来卖么?

    所以:我站队 IDE
    gosky
    gosky
    Oct 10, 2017
    12
    先设计,然后生成 sql 脚本
    kslr
    kslr
    Oct 10, 2017
    13
    写迁移脚本,毕竟数据库也要做版本控制。
    Smipto
    Smipto
    Oct 10, 2017
    14
    phpmyadmin
    ipconfiger
    ipconfiger
    Oct 10, 2017
    15
    Sqlalchemy 直接写 model 然后 alembic 啊
    tabris17
    tabris17
    Oct 10, 2017
    16
    @awolfly9 换系统
    lululau
    lululau
    Oct 10, 2017
    17
    Rails model/resource/scaffold/migration generators
    BBCCBB
    BBCCBB
    Oct 10, 2017
    18
    直接 powerdesigner
    noNOno
    noNOno
    Oct 10, 2017
    19
    Navicat Premium
    zhengxiaowai
    zhengxiaowai
    Oct 10, 2017
    20
    ORM。。。怎么算
    qiyuey
    qiyuey
    Oct 10, 2017
    21
    DataGrip,GUI 初步设计,手工精修 SQL
    sunmoon1983
    sunmoon1983
    Oct 10, 2017
    22
    @pofycn hedisql 没有代码提示,用的太不习惯了
    barbery
    barbery
    Oct 10, 2017
    23
    以前都用 workbench 建模,后面发现太麻烦了,现在直接用框架 migration 算了
    evlos
    evlos
    Oct 10, 2017 via iPhone
    24
    HeidiSQL 楼上没有一个把名字打对的 😂
    0ZXYDDu796nVCFxq
    0ZXYDDu796nVCFxq
    Oct 10, 2017
    25
    from db.database import init_db
    init_db()
    glocal
    glocal
    Oct 10, 2017
    26
    Heidi 是一部儿童文学小说,中文是阿尔卑斯山上的少女
    gcli
    gcli
    Oct 10, 2017
    27
    手写 ,
    gui 的话推荐 DataGrip
    Intellij 出品
    ZXCDFGTYU
    ZXCDFGTYU
    Oct 10, 2017
    28
    navicat
    BiggerLonger
    BiggerLonger
    Oct 10, 2017
    29
    sqlalchemy....
    doubleflower
    doubleflower
    Oct 10, 2017 via Android
    30
    用 gui 真没手写快。

    且手写的 sql 可以方便版本管理。
    jin7
    jin7
    Oct 10, 2017 via Android
    31
    datagrip
    Yemilice
    Yemilice
    Oct 10, 2017
    32
    手写
    Mutoo
    Mutoo
    Oct 10, 2017
    33
    做稍大点的项目的话,一般需要配合框架写 migrate 脚本,所以算是手动吧。
    fuxkcsdn
    fuxkcsdn
    Oct 10, 2017 via iPhone
    34
    手写
    gcli
    gcli
    Oct 10, 2017
    35
    手写,版本管理用 liquibase,GUI 用 DataGrid
    l00t
    l00t
    Oct 10, 2017
    36
    @yulitian888 哪些 IDE 能自动生成增量脚本?
    xman99
    xman99
    Oct 10, 2017
    37
    习惯手写
    yulitian888
    yulitian888
    Oct 10, 2017
    38
    @l00t
    微软的 VS IDE 可以( SQL server 自带命令行可以)
    NaviCat Premium 可以(但是只能从数据库到数据库,不能从脚本到数据库)
    RedGate 有 SQL Compare、MySQL Compare (这个不算 IDE,全家桶里的组件)
    jy01264313
    jy01264313
    Oct 10, 2017
    39
    还是用一些 ORM 吧,手写的估计没有一个关键字会大写,基本没有符合规范的
    cat9life
    cat9life
    Oct 10, 2017
    40
    目前没用很复杂的表.. 还是手写为主
    wizardoz
    wizardoz
    Oct 10, 2017
    41
    orm
    codelover2016
    codelover2016
    Oct 10, 2017
    42
    MySQL WorkBench
    ferock
    ferock
    Oct 10, 2017
    43
    hedisql 没有 mac 版
    hotReady
    hotReady
    Oct 10, 2017
    44
    mysql SQLyog
    bitsjx
    bitsjx
    Oct 10, 2017
    45
    必须手写啊,代码服务器被隔离,只能远程连接,除了基本的代码工具(source insight/xshell),其它啥都没有
    lxrmido
    lxrmido
    Oct 10, 2017
    46
    Sequel Pro,mac,免费的
    wawehi
    wawehi
    Oct 10, 2017
    47
    同楼上
    izoabr
    izoabr
    Oct 10, 2017
    48
    ORM 去干,很少动数据库
    chengxiao
    chengxiao
    Oct 10, 2017
    49
    ORM,django 的 ORM 太好用了
    fluyy
    fluyy
    Oct 10, 2017 via iPhone
    50
    手写
    keenkiller
    keenkiller
    Oct 10, 2017
    51
    java 的话基本手写…

    Python 的时候有时用 orm,但是没用过 migration …
    WispZhan
    WispZhan
    Oct 10, 2017
    52
    ORM, code first。
    Java 和.Net C#
    直接以 DDD 设计 Entity,设计聚合根。
    beginor
    beginor
    Oct 10, 2017 via Android
    53
    @awolfly9 通过 wine 完美运行 hedisql 😄
    levon
    levon
    Oct 10, 2017
    54
    Entity Framework Code First,修改实体后自动更新,无压力
    testcount
    testcount
    Oct 10, 2017
    55
    手写 SQL,改表 pt-online
    fortunezhang
    fortunezhang
    Oct 11, 2017
    56
    看了一圈,还好不是我一个人用 phpmyadmin,逃:)
    simapple
    simapple
    Oct 11, 2017
    57
    手写+navicat
    Clarencep
    Clarencep
    Oct 11, 2017
    58
    @toyuanx 握爪

    SQLyog+1
    zhouyou457
    zhouyou457
    Oct 11, 2017
    59
    powerdesigner +1,话说这建库建表不是先设计然后开会讨论定型了在根据数据库导出 sql 的嘛?
    resturlaub
    resturlaub
    Oct 11, 2017
    60
    phinx
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 13:55 · PVG 21:55 · LAX 05:55 · JFK 08:55
    ♥ Do have faith in what you're doing.