假设我们有 2 个实体:
每个Person都有一个地址(OneToOne关系)。因此地址实体将有一个外键(person_id)指向其关联的Person。您有什么建议?
到目前为止,我只找到了一种不用关系管理就能把单个实体导入mysql的方法:
LOAD DATA INFILE 'c:/tmp/file.csv'
INTO TABLE person
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
好吧,不幸的是,这将是一个艰难的答案,但这可能是不修改插入表格的唯一方法(强烈建议不要这样做)。
CREATE TEMPORARY TABLE `import` (
`person_name` varchar(300) CHARACTER SET latin1 NOT NULL,
`person_age` varchar(300) CHARACTER SET latin1 NOT NULL,
`address1` varchar(300) CHARACTER SET latin1 NOT NULL,
`city` varchar(300) CHARACTER SET latin1 NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
执行批量加载(如您在问题中所示)
从导入表中进行选择,然后遍历每一行
插入到地址表中,获取last_Insert_id,然后使用最后一个Insert id插入到用户表中
用以下命令删除临时表:< code >删除临时表“import ”;
如果您考虑删除自动递增的 ID,而是转向 UUID(),
则可以使用 3 个查询来执行此操作。
CREATE TEMPORARY TABLE `import` (
`uuid` char(36) CHARACTER SET latin1 NOT NULL,
`person_name` varchar(300) CHARACTER SET latin1 NOT NULL,
`person_age` varchar(300) CHARACTER SET latin1 NOT NULL,
`address1` varchar(300) CHARACTER SET latin1 NOT NULL,
`city` varchar(300) CHARACTER SET latin1 NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
LOAD DATA INFILE 'c:/tmp/file.csv'
INTO TABLE person
(@dummy, person_name, person_age, address1, city)
SET uuid = UUID()
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
INSERT INTO address (id, address1, city)
SELECT uuid, address1, city
FROM `import`;
INSERT INTO person (address_id, person_name, person_age)
SELECT uuid, person_name, person_age
FROM `import`;
问题内容: 我有以下结构的csv文件: 使用以下MySQL函数如何导入MySQL表的第一和第三列: 我为我的英语道歉! 提前致谢 ! 问题答案: 您可以指定列,并将不需要的列标记为“ @dummy”。 替换,并且只要你喜欢。要设置不在数据文件中的其他列,您可以这样做: 作为进一步的参考,我建议您看一下MySQL参考。
问题内容: 我有几个要导入到表中的CSV文件。它们都包含不同数量的列,因此每次导入期间都会缺少一些数据。我需要一个可以让我将哪个CSV列映射到哪个MySQL列的工具。看起来MySQL工作台无法做到这一点。我还能使用什么? 问题答案: MySQL具有LOAD DATA INFILE语法: 请参阅有关自定义数据处理的文档。
想要知道更多东西吗?当你需要从表中查找某些值时,可以使用冗长的 case 语句或 selectors 实现,但更整洁的方式是使用 extlookup 函数实现。 在 puppetmaster 上可以使用 extlookup 函数查询外部的 CSV 文件,并返回匹配的数据片段。 将所有数据组织到一个单一的文件并将它从 Puppet 配置清单中分离出来, 可以使维护工作变得更简单,也便于与其他人分享:
问题内容: 谁能解释一下如何将Microsoft Excel文件导入到MySQL数据库中? 例如,我的Excel表如下所示: 问题答案: 将其导出为某种文本格式。最简单的可能是制表符分隔的版本,但是CSV也可以使用。 使用加载数据功能。见http://dev.mysql.com/doc/refman/5.1/en/load-data.html 查看页面的一半,因为它将为制表符分隔的数据提供一个很好
本文向大家介绍php将csv文件导入到mysql数据库的方法,包括了php将csv文件导入到mysql数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php将csv文件导入到mysql数据库的方法。分享给大家供大家参考。具体分析如下: 本程序实现数据导入原理是先把csv文件上传到服务器,然后再通过php的fopen与fgetcsv文件把数据保存到数组,然后再用while把数据一
本文向大家介绍Python之csv文件从MySQL数据库导入导出的方法,包括了Python之csv文件从MySQL数据库导入导出的方法的使用技巧和注意事项,需要的朋友参考一下 Python从MySQL数据库中导出csv文件处理 csv文件导入MySQL数据库 注: 1.csv文件的表头如: mysql的创建tb_csv表语句 这里为了省事,表中的字段都指明varchar类型 MySQL数据库写入c