在 MySQL 資料庫的集合中查詢值

Preet Sanghavi 2023年1月30日 2022年7月18日
  1. 在 MySQL 中建立表
  2. 使用 FIND_IN_SET() 在 MySQL 資料庫的集合中查詢值
在 MySQL 資料庫的集合中查詢值

在本教程中,我們旨在探索如何檢查值的出現或在 MySQL 資料庫的集合中查詢值。

這可以藉助 IN() 函式或 FIND_IN_SET() 函式來完成。讓我們探索在 MySQL 資料庫中使用 FIND_IN_SET() 函式。

FIND_IN_SET() 函式主要接受兩個引數。第一個引數是要搜尋的值,第二個引數是要搜尋的值的集合。

這可以表示為 FIND_IN_SET("search", {search_here})。讓我們嘗試在我們的 MySQL 伺服器中使用這個函式。

在 MySQL 中建立表

在開始之前,我們將建立一個虛擬資料集來使用。在這裡,我們將建立一個表 student_details 以及幾行。

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

上面的查詢建立了一個表,其中包含學生的名字和姓氏。要檢視資料中的條目,我們使用以下程式碼:

SELECT * FROM student_details;

上面的程式碼將給出以下輸出:

stu_id  stu_firstName   stu_lastName
1         Preet         Sanghavi
2         Rich          John
3         Veron         Brow
4         Geo           Jos
5         Hash          Shah
6         Sachin        Parker
7         David         Miller

使用 FIND_IN_SET() 在 MySQL 資料庫的集合中查詢值

我們已經成功地建立了我們的表 student_details 並將其視覺化。讓我們嘗試在 stu_firstName 集合中找到一個特定的名稱。

執行上述任務的語法如下所示:

SELECT FIND_IN_SET("value_to_be_searched", {set});

在這裡,我們可以看到,術語 value_to_be_searched 將被我們需要在表中查詢的實際值替換。

讓我們確定值 David 是否存在於 stu_firstName 列中。這可以在以下查詢的幫助下完成:

SELECT FIND_IN_SET("David", stu_firstName) as boolean_here from student_details ;

上述程式碼的輸出可以說明如下:

boolean_here
0
0
0
0
0
0
1

注意:注意此處使用的 AS 關鍵字作為別名很重要。我們使用別名使我們的查詢更具可讀性和全面性。

但是,此功能僅在 MySQL 4.0 及更高版本中可用。因此,我們已經成功理解了如何在 MySQL 中使用 FIND_IN_SET() 函式。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相關文章 - MySQL Database