2011-06-20 43 views
1

我有一个数据集,包含很多想要导入到MySQL数据库的列,所以我希望能够在不指定列标题的情况下创建表格。相反,我想提供一个带有列标签的文件名(假定)是MySQL CREATE TABLE命令。我在Ubuntu中使用标准的MySQL查询浏览器工具,但在创建表格对话框中我没有看到这个选项,也不知道如何编写查询来从CREATE TABLE文档页面执行此操作。但是,必须有一个办法......如何将列名,数据从文本文件加载到MySQL表中?

回答

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。而且,MySQL查询浏览器(或其当前名称,MySQL Workbench)可以读取SQL文件。所以你可能不需要手动复制&粘贴。

+0

从包含列名和列数据类型的文件如何?创建这种方法要比将每个列名输入到CREATE TABLE语句中困难得多。 –

+0

看起来解决方案是在文本文件中创建列规格,然后将其复制粘贴到我的查询浏览器中。这看起来会避免重新输入。谢谢,您的评论引导我到'解决方案'。 –

相关问题