填充Db的最快方法

时间:2010-08-26 23:50:09

标签: sql mysql database database-design

我有一个excel电子表格,其中包含多对多关系的产品和类别,我需要使用它来填充数据库。我正在寻找一种快速输入此数据的方法,并让连接表具有所有正确的信息。我有phpmyadmin但它似乎有点慢,除非有一个捷径。我想的另一种方法是编写一些我可以复制和粘贴的查询,但是让连接表变得正确可能更具挑战性。除非有人能想到我可以创建产品和类别并具有连接连接的查询。

产品

* PRODUCT_ID (primary key)
* PRODUCT_NAME

分类

* CATEGORY_ID (primary key)
* CATEGORY_NAME

PRODUCT_CATEGORIES_MAP

* PRODUCT_ID (primary key, foreign key to PRODUCTS)
* CATEGORY_ID (primary key, foreign key to CATEGORIES)
* QUANTITY

3 个答案:

答案 0 :(得分:6)

大多数数据库都有某种优化的批量插入,比使用INSERT语句更快/更乏味 - 对于MySQL,它是LOAD DATA INFILE syntax

来自电子表格,很容易生成CSV ouptut,因此您可以使用:

LOAD DATA INFILE 'data.txt' INTO TABLE your_table
   FIELDS TERMINATED BY ',' ENCLOSED BY '"'
   LINES TERMINATED BY '\r\n'
   IGNORE 1 LINES;

答案 1 :(得分:2)

将它们导出为3个CSV文件,然后使用LOAD DATA INFILE将它们加载到服务器中。

答案 2 :(得分:0)

如果你必须这么做(就像我一样),可以考虑使用像SquirrelSQL这样的数据库客户端软件包,或者自己编写一个使用Excel阅读器和DBI的非常简单的PERL程序。 / p>