如何将列名,数据从文本文件加载到MySQL表中?

时间:2011-06-20 17:31:52

标签: mysql load create-table

我有一个数据集,其中包含许多要导入MySQL数据库的列,因此我希望能够创建表而无需手动指定列标题。相反,我想提供一个带有列标签的文件名(大概)是MySQL CREATE TABLE命令。我在Ubuntu中使用标准的MySQL查询浏览器工具,但我没有在create table对话框中看到这个选项,也没有弄清楚如何从CREATE TABLE文档页面编写查询来执行此操作。但必须有办法......

1 个答案:

答案 0 :(得分:1)

CREATE TABLE语句不仅包含列名

  • 表名*
  • 列名*
  • 列数据类型*
  • 列约束,如NOT NULL
  • 列选项,如DEFAULT,字符集
  • 表约束,如PRIMARY KEY *和FOREIGN KEY
  • 索引
  • 表选项,如存储引擎,默认字符集

*强制性

您无法从列名列表中获得所有这些。您应该自己编写CREATE TABLE语句。


重新评论:许多软件开发框架支持在不使用SQL DDL的情况下声明表的方法。例如。 Hibernate使用XML文件。 YAML由Rails ActiveRecord,PHP Doctrine和Perl的SQLFairy支持。可能还有其他工具使用其他格式,例如JSON,但我不知道其中一种。

但最终,所有这些“简化”的接口都不像SQL那么复杂,而不能完全代表SQL的作用。另见The Law of Leaky Abstractions


签出SQLFairy,因为该工具可能已经以可以帮助您的方式从文件转换为SQL。而FWIW MySQL Query Browser(或其当前名称,MySQL Workbench)可以读取SQL文件。所以你可能不需要复制&手动粘贴。