我有一个带有单个表的mysql数据库,其中包含一个自动增量ID,一个字符串和两个数字。我想用来自文本文件的许多字符串填充此数据库,所有数字最初都重置为0.
有没有办法快速完成?我想创建一个生成许多INSERT语句的脚本,但这似乎有点原始和缓慢。特别是因为mysql在远程站点上。
答案 0 :(得分:7)
是 - 使用LOAD DATA INFILE
docs are here示例:
LOAD DATA INFILE 'csvfile'
INTO TABLE table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 0 LINES
(cola, colb, colc)
SET cold = 0,
cole = 0;
注意set
行 - 这里是您设置默认值的位置。
根据您的字段分隔符更改行FIELDS TERMINATED BY ','
答案 1 :(得分:1)
如果您可以访问服务器的文件系统,则可以使用LOAD DATA
如果您不想使用语法,最简单的方法(如果在Windows上)使用HeidiSQL
为此目的,它有友好的巫师。
如果你从文本文件中发布样本行,也许我可以用正确的语法帮助你。
答案 2 :(得分:1)
其他答案只回答你问题的一半。对于另一半(归零数字列):
<强>或者:强>
0
,或强>
在表格中输入数据后,发出一个MySQL命令将字段归零,例如
UPDATE table SET first_numeric_column_name = 0, second_numeric_column_name = 0 WHERE 1;
要总结一切,请使用LOAD DATA INFILE。
答案 3 :(得分:1)
我建议您使用 Softbuilder(我为之工作)的 SB Data Generator,下载并安装免费试用版。
首先,创建与 MySQL 数据库的连接,然后转到“工具 -> 虚拟数据”并导入您的测试数据(文件必须为 CSV 格式)。
导入测试数据后,您将可以在同一窗口中预览和查询它们,而无需将它们插入到数据库中。
现在,如果您想将测试数据插入到您的数据库中,请转到“工具 -> 数据生成”并选择“从虚拟数据生成数据”。