我需要创建一个包含300多列的MySQL表。我有一个excel文件,第一行中的每个字段名称和第二行中的字段长度。所有数据类型都是VARCHAR。是否有可用的方法或工具来获取此文件并创建具有指定字段长度的MySQL表?
我尝试使用MySQL for Excel但我仍然需要手动定义每个字段的长度,这很乏味。我研究过的所有其他方法似乎都需要相同的东西。如果我找不到东西,显然我必须手工制作这张桌子,但我想在投入那么多时间之前我会问。
以下是前几列的示例:
field1 field2 field3 field4
4 2 255 8
尚无要导入的数据。我现在只需要创建表。
谢谢!
答案 0 :(得分:0)
你可以用一些langague C ++,PHP解析txt文件......然后构建一个请求并执行它。
PHP和PDO :: module将使这个最简单。
我不知道某个程序是否已经完成这项工作。这是一个解决方案。
如果您选择这样做并遇到麻烦,欢迎您。每个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包含所有字段名称和$ table_name的数组,表格的名称。
答案 1 :(得分:0)
我不知道有任何工具可以做到这一点,但是使用您选择的编程语言将Excel文件作为CSV文件读取似乎非常简单,并从输入创建表。 例如使用c ++或java。 见ie this link