如何在 Java 中使用 MySQL 的 LIKE 與搜尋變數同時使用引號?
以下是如何正確使用 LIKE 與搜尋變數的語法 −
String sqlQuery; sqlQuery = "select *from yourTableName where yourColumnName like '%" +yourSearchVariableName + "%'";
讓我們建立一個表 −
mysql> create table demo19 −> ( −> id int not null auto_increment primary key, −> name varchar(50) −> ); Query OK, 0 rows affected (3.48 sec)
在表中插入一些記錄,使用插入命令 −
mysql> insert into demo19(name) values('John Smith');
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo19(name) values('David Miller');
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo19(name) values('Adam Smith');
Query OK, 1 row affected (0.12 sec)
mysql> insert into demo19(name) values('Chris Brown');
Query OK, 1 row affected (0.13 sec)使用選擇語句顯示錶中的記錄 −
mysql> select *from demo19
這將產生以下輸出 −
+----+--------------+ | id | name | +----+--------------+ | 1 | John Smith | | 2 | David Miller | | 3 | Adam Smith | | 4 | Chris Brown | +----+--------------+ 4 rows in set (0.00 sec)
示例
以下是如何在使用 LIKE 與搜尋變數的同時正確使用引號的 Java 程式碼 −
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class RemoveJavaQueryError {
public static void main(String[] args) {
Connection con = null;
Statement statement = null;
try {
String searchKeyWord = "Smith";
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://:3306/sampledatabase", "root", "123456");
statement = (Statement) con.createStatement();
String sqlQuery;
sqlQuery = "select *from demo19 where name like '%" + searchKeyWord + "%'";
ResultSet rs = statement.executeQuery(sqlQuery);
while (rs.next()) {
System.out.println(rs.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}這將產生以下輸出 −
John Smith Adam Smith
以下是對示例輸出的快照。

廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP