填充Db的最快方法

Mat*_*iby 5 mysql sql database database-design

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

产品

* PRODUCT_ID (primary key)
* PRODUCT_NAME
Run Code Online (Sandbox Code Playgroud)

类别

* CATEGORY_ID (primary key)
* CATEGORY_NAME
Run Code Online (Sandbox Code Playgroud)

PRODUCT_CATEGORIES_MAP

* PRODUCT_ID (primary key, foreign key to PRODUCTS)
* CATEGORY_ID (primary key, foreign key to CATEGORIES)
* QUANTITY
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 6

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

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

LOAD DATA INFILE 'data.txt' INTO TABLE your_table
   FIELDS TERMINATED BY ',' ENCLOSED BY '"'
   LINES TERMINATED BY '\r\n'
   IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)