我需要创建一个包含300多列的MySQL表。我有一个excel文件,每个字段名在第一行,字段长度在第二行。所有数据类型都是VARCHAR。有没有一种方法或工具可以获取这个文件并创建一个具有指定字段长度的MySQL表?
我尝试了MySQL for Excel,但我仍然必须手动定义每个字段的长度,这很繁琐。我研究过的所有其他方法似乎都需要同样的东西。如果我找不到什么东西,显然我将不得不手工创建这个表,但我想我会在投入那么多时间之前询问一下。
下面是前几列的示例:
field1 field2 field3 field4
4 2 255 8还没有要导入的数据。现在我只需要创建表。
谢谢!
发布于 2014-03-19 02:05:45
你可以用一些语言解析txt文件,C++,PHP…然后构建一个请求并执行它。
PHP和PDO::模块将使这一切变得最简单。
我不知道是否有程序已经做了这项工作。这是一个解决方案。
如果你选择这样做,并且遇到一些麻烦,我们欢迎你。每一个stackoverflow成员都会帮助你。
编辑:
这里有一个例子。如何用PDO和PHP Link创建表
我猜你可以做这样的东西:
<?php
$dns = 'mysql:host=localhost;dbname=w3cyberlearning';
$user = 'user2000';
$pass = 'password2000';
$db = new PDO($dns, $user, $pass);
$sql = "CREATE TABLE IF NOT EXISTS" +
$table_name + "(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,";
$i = 0;
foreach ($fields as &$value)
{
if (i++ != 0)
$sql += ",";
$sql += $value + " VARCHAR(200) NOT NULL";
}
$sql += ")";
$sq = $db->query($sql);
if ($sq) {
echo 'created';
}
?>对于$fields,它是一个包含所有字段name和表名称$table_name的数组。
发布于 2014-03-19 02:07:31
我不知道有什么工具可以做到这一点,但是使用您选择的编程语言将Excel文件读取为CSV文件并根据输入创建表似乎非常简单。例如使用c++或java。请参见,即this link
https://stackoverflow.com/questions/22487172
复制相似问题