V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
toono
V2EX  ›  数据库

[Mysql]怎么优雅地将一个表格的数据拆分成几个表格?

  •  
  •   toono · 2017-02-16 15:31:28 +08:00 · 1731 次点击
    这是一个创建于 2835 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在爬虫的时候没有注意数据库的设计,所有数据都简单粗地放进一个表格,数据格式也没怎么考究。 但是现在要将数据用起来了,也就需要开始进行数据库表格的重构了,新的表格是做好了,但是也面临着好多数据不知道怎么搬运的问题。

    说一下比较麻烦的点:

    1. 拆分出一个分类表,给主的数据表做一个外键关联。并且分类数目不少,手动创建分类条目的话,不太好;
    2. 在有搬运数据的同时兼顾上面设置的外键;
    3. 因为是外行,不知道该写怎样的脚本去进行数据的迁移;
    4. 说到底是数据库渣, iOS 开发跑来爬虫,还要搞数据库。

    那么问题就来了

    • 有没有什么框架(基于 python , c#, swift 之一)可以方便操作数据库,脱离编写 SQL 语言脚本?
    • 有没有什么比上一条问题中的解决方案(用编程语言写脚本)更好的解决方案?

    不知道大家怎么看, SQL 虽然基本的语句简单,但是怎么也没有往深入学的兴趣。。。。

    8 条回复    2017-02-17 14:40:39 +08:00
    ebony0319
        1
    ebony0319  
       2017-02-16 15:54:13 +08:00
    可以提出 100 行数据让我试试?
    CosimoZi
        2
    CosimoZi  
       2017-02-16 15:58:29 +08:00
    不要用外键.
    不是大型项目不要用 orm.
    zhustec
        3
    zhustec  
       2017-02-16 18:13:59 +08:00 via Android
    那当然是 ActiveRecord
    xeis
        4
    xeis  
       2017-02-16 23:53:38 +08:00 via iPad
    ios 都会了, sql 能不会?
    toono
        5
    toono  
    OP
       2017-02-17 08:30:35 +08:00
    @xeis 基本的增删改查是会😂,其他的没学
    toono
        6
    toono  
    OP
       2017-02-17 08:31:10 +08:00
    @CosimoZi 为什么不用外键?不用外键的话拆分表好像就没什么意义了?
    fxxkgw
        7
    fxxkgw  
       2017-02-17 10:31:10 +08:00
    不建议用外键
    Balthild
        8
    Balthild  
       2017-02-17 14:40:39 +08:00
    @toono 外键,本质是表和表之间数据的关联,属于程序逻辑,应该手动写在程序里面而不是 SQL 里面。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.