Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将excel数据拆分为多个mysql表_Mysql - Fatal编程技术网

将excel数据拆分为多个mysql表

将excel数据拆分为多个mysql表,mysql,Mysql,基本上,我有一个从旧系统中导出的时间表 要简化的每一行都有员工姓名、描述和时间 我在excel中有数千行这样的时间表。我想把这些放在两张桌子上 员工和时间表 当然,员工姓名会重复多次,但我只希望员工表中有唯一的员工,例如30名员工,但有10000个时间表 这是一个一次性的任务,我有PHP在我的处置,如果需要的话,但我侦察可能有一个聪明的简单的方法来做到这一点 我有一些自己的想法,但我很想知道你会怎么做 注意:表的数量实际上要复杂得多,但是通过有效地解决上面的示例,它解决了更复杂的示例,其中客户机

基本上,我有一个从旧系统中导出的时间表

要简化的每一行都有员工姓名、描述和时间

我在excel中有数千行这样的时间表。我想把这些放在两张桌子上

员工和时间表

当然,员工姓名会重复多次,但我只希望员工表中有唯一的员工,例如30名员工,但有10000个时间表

这是一个一次性的任务,我有PHP在我的处置,如果需要的话,但我侦察可能有一个聪明的简单的方法来做到这一点

我有一些自己的想法,但我很想知道你会怎么做


注意:表的数量实际上要复杂得多,但是通过有效地解决上面的示例,它解决了更复杂的示例,其中客户机、项目、任务等都包含在每一行中

我几乎总是通过在excel中连接并构建.sql命令文件来解决此类(一次性)问题。在数据之后的列中,我构建了其中一些

=CONCATENATE("insert into tableA (col1,col2,col3) values ('",A3,"','",A4,"','",A5,"');")
将语句复制/粘贴到文本文件中,并另存为mysqlfile.sql(或其他格式)。然后插入数据库(前提是数据库表已经存在)

mysql-umyname-p-hmyhost.com mydatabasename

它有点粗糙,但对于这种类型的东西,它工作得很快。

很好的旧拷贝/粘贴/宏。我通常用EditPlus做这类工作。它将宏的击键记录到快捷键(如Alt-1)。因此,我只需将所有内容复制/粘贴到editplus中,并在第一行记录“替换到…”,然后在文件的其余部分重复它。用户可以将其粘贴为查询。除非你有数百万行,否则它是有效的


注意:更换。将employee定义为一个键,每个员工都是唯一的,不会有错误。

是的,这是一个很好的主意,我自己用过,尤其是当有一个表时,但在这种情况下,会有很多不同的表,例如,员工可能会有重复的表。我想如果我把所有的当前格式都放到一个临时表中,我可以编写一些sql来填充适当的表。当然,如果你把它们放在一个临时表中,然后用PHP对它们进行迭代和排序,你就可以很快地完成它。祝你好运
mysql -umyname -p -hmyhost.com mydatabasename < mysqlfile.sql