gpt4 book ai didi

java - MYSQL拆分字符串并将单个单词插入数据库

转载 作者:行者123 更新时间:2023-11-29 13:35:15 27 4
gpt4 key购买 nike

我有一个 800.000 行的 MYSQL 数据库。现在我想知道:如何拆分字符串并将单个单词插入数据库?

即:

我有这个字符串:“如何使用 Windows 7”

我想分割这个字符串,然后在包含该字符串的同一个表中插入“how”、“to”、“use”、“windows”、“7”。必须自动对所有 800.000 行执行此操作。

我正在使用 java 和 sql (sqldeveloper) 进行开发。

好的。我正在添加更多信息以使其更加明确。这是我的表的定义。

CREATE TABLE phrase
(
name VARCHAR(300) NOT NULL default '',
category VARCHAR(60) default '',
PRIMARY KEY(name, category)
);

我要分割的字符串是“name”。因此,每个单词(来自拆分)都将被插入到“短语”表中。

最佳答案

你可以尝试这样的事情(未经测试):

 String yourQuery = "SELECT * FROM phrases WHERE name = 'how to use windows 7'";
PreparedStatement statement = connection.prepareStatement(yourQuery);
statement.setMaxRows(1);
ResultSet rs = statement.executeQuery();

String[] arr = null;
String name;
while (rs.next()) {
name = rs.getString(1); // Where 1 is column number.
}

arr = name.split(" "); // Split at space
// (e.g. "how to use windows 7" becomes "how", "to", "use", "windows", "7"
System.out.println(arr[2]); // Output "use"
String combined = Arrays.toString(arr); // "how, to, use, windows, 7"

yourQuery = "UPDATE phrases SET name = '" + combined + "' WHERE COLUMN = how to use windows 7;"
statement = connection.prepareStatement(updateStatement);
int rowsAffected = statement.executeStatement();

我基于 this question 中的一些代码和这里的其他一些人。那当然是替换一排。您可以根据需要循环和/或修改 SQL 语句。此外,您还应该清理 SQL 以防止注入(inject) vector ;但为了简单起见,这里只是加入了这一点。

关于java - MYSQL拆分字符串并将单个单词插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18835149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com