如何将 .txt 文件存储到 MySQL 数据库中?

7

我能够将数据文件(例如txt文件)存储到MySQL服务器中吗?如果可以,应该如何存储呢?


数据库不是用来存储文本文件的,这就是你的文件系统所用的。 - animuson
当然,如果您在运行MySQL的服务器上具有文件写入权限,则可以将文本文件写入其中。不过我认为这不是您想要的。您想要实现什么目标? - Andrew
什么样的文本文件? - Pekka
我正在尝试用数据(整数)填充txt文件,并将整个文件存储到数据库中;我更喜欢使用文件,因为我有很多数据需要在非常短的时间内存储(每0.4秒我必须查询具有大量数据的数据库) 我知道文件系统可以做到这一点,但我希望所有网络用户都可以访问该文件.. - Rida Shamasneh
你的问题含糊不清。有两种(三种?)完全不同的方式来解释你的问题,鉴于描述有限,任何一种都可能是正确的。请指定在数据库中存储数据后,您希望数据以什么格式呈现。您只需要一个透明的blob还是需要结构化数据? - Mark Byers
我希望文件以其内容为基础作为一个单元/一个对象存储到数据库中。 - Rida Shamasneh
4个回答

18

你可以使用LOAD DATA INFILE来读取文件内容,并以结构化格式将其存储在数据库表中。

这比在客户端上读取和解析文件,然后使用多个INSERT语句要快得多。

示例:

LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;

你会如何将其读回来? - Manish

7

我知道文件系统可以做到这一点,但我希望所有网络用户都能访问该文件... 而且我不想在30分钟内每0.4秒查询数据库服务器... 这可能是使用集中式数据库的最糟糕的解决方案。 - Rida Shamasneh

2

当然可以。我建议从文件中读取数据,然后将其保存在数据库中,最好是文本字段。

您可以使用类似此类的方法获取文件内容:

$file = file_get_contents('./yourfile.txt');

然后插入它。
Insert into myTable VALUES (mytextfile = $file)

0
我们谈论的是多少文本?如果文本不多,你可以将文件内容直接存储在数据库中。
你也可以将文件本身作为一个二进制大对象(BLOB)存储。http://dev.mysql.com/doc/refman/5.5/en/blob.html 如果你需要处理很多文件,最好的方法可能是将文件存储在服务器上,并在数据库中保存文件路径。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接