【问题标题】:Can I import tab-separated files into MySQL without creating database tables first?我可以在不先创建数据库表的情况下将制表符分隔的文件导入 MySQL 吗?
【发布时间】:2011-01-12 03:42:36
【问题描述】:

正如标题所说:我有一堆包含数据的制表符分隔的文本文件。

我知道如果我使用“CREATE TABLE”语句手动设置所有表,然后我可以使用“加载数据”或“mysqlimport”将它们导入等待表。

但是在 MySQL 中是否有任何方法可以根据选项卡文件自动创建表?好像应该有。 (我知道 MySQL 可能必须猜测每一列的数据类型,但您可以在选项卡文件的第一行中指定。)

【问题讨论】:

  • 如果您想快速将分隔文本文件的所有列放入数据库,而无需创建表或考虑一个关于适当的列类型和大小的分钟,this SO answer 使用 phpMyAdmin 的建议工作正常。完成后您将不得不重命名表(如果在导入期间有一个选项,我每次都会忽略它)。但是,上传文件的大小将受到您的 php.ini 设置的限制。 这是在评论中,因为 OP 的问题是“你如何 [...] 在 MySQL 中”。

标签: mysql database mysqlimport


【解决方案1】:

不,没有。无论如何,您首先需要CREATETABLE

自动创建表和猜测字段类型不是 DBMS 工作的一部分。这是一项最好留给外部工具或应用程序的任务(然后创建必要的 CREATE 语句)。

【讨论】:

    【解决方案2】:

    如果您愿意在第一行键入数据类型,为什么不键入正确的 CREATE TABLE 语句。

    然后就可以将excel数据导出为txt文件使用了

    LOAD DATA INFILE 'path/file.txt' INTO TABLE your_table; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 2013-02-22
      • 1970-01-01
      • 2019-03-04
      • 2012-05-28
      • 1970-01-01
      • 2013-06-11
      相关资源
      最近更新 更多