【问题标题】:Load csv into MySQL, using a new table使用新表将 csv 加载到 MySQL
【发布时间】:2016-01-12 19:48:18
【问题描述】:

我正在使用phpMyAdmin 将 CSV 文件加载到 MySQL 表中,但是是否必须在加载之前创建表?

我已经读到,如果使用工作台 (Import a CSV file into MySQL workbench into a new table dynamically),最新版本会即时创建表格,但是,phpMyAdmin 是否可以做到这一点。 这是不起作用的代码

load data local infile '/Users/...'
into table skin_cutaneous_melanoma
fields terminated by ','
lines terminated by '\n'

错误是:

#1146 - Table hospital.skin_cutaneous_melanoma' doesn't exist 

【问题讨论】:

  • 啊,好吧,我读多了。是的,当然,必须先创建表并具有正确的字段顺序,或者如果表与 csv-columns 不同,您也可以在查询中指定顺序
  • @Ctx 问题已更新,谢谢...
  • @ctx 有什么替代方案吗?
  • 这几乎不可能,数据库系统猜测列名和类型的要求太多。如果您对数据文件的创建方式有影响,您可以创建 SQL 语句来创建一个表并填充它,然后只获取该文件

标签: php mysql csv phpmyadmin


【解决方案1】:

当然,phpMyAdmin 可以做到这一点。

在主页中,查找“导入”选项卡。当然,这是您希望导入任何文件的方式,包括您是否已经创建了数据库和表,但如果没有,phpMyAdmin 会使用通用名称和对列的数据类型的最佳猜测为您创建一个临时数据库和表.请注意,这可能不是理想的结构,而是基于数据库中现有数据的最佳猜测。为了获得最佳结果,您可能希望将所需的列名放在 CSV 文件的顶部,并在导入期间选择相应的选项,或者在导入后重命名它们(同样使用数据库和表名)——但这绝对是可以导入新表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 2017-04-19
    • 2017-11-02
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    相关资源
    最近更新 更多