[英]How do I check Mysql row for text?
我正在嘗試檢查表中的行是否包含特定的字符串。 如果是這樣,我想獲取具有特定字符串的用戶。 我的桌子看起來像這樣: 圖片
我想檢查“地址”列/行中的字符串“ Peter”。 我如何瀏覽並找到它? 然后,這樣做之后,我將如何檢查擁有字符串的用戶的ID? 感謝您能提供的任何幫助。
mysql的基礎知識。 通配符%
告訴db引擎,我們期望在'Peter'字符串之前和之后的一些字符。
SELECT * FROM tablename WHERE Address LIKE '%Peter%'
火柴:
"Peter's address"
"It is Peter's address"
"Address of Peter"
編寫SQL命令以掃描數據。針對您的問題的命令看起來像::
select * from Mytable where address="peter";
給定LIKE的一些替代方案
MariaDB [BANK]> select * from customer;
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| id | version | title | FirstName | Middlenames | LastName | Gender | Dob | Dod | Warning_flag | Worth |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| 1 | 1.00 | Mr | fname1 | NULL | lname1 | m | 1990-01-01 | NULL | NULL | NULL |
| 2 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
| 3 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
3 rows in set (0.00 sec)
MariaDB [BANK]> SELECT * FROM CUSTOMER
-> WHERE INSTR(LASTNAME,'a') > 0;
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| id | version | title | FirstName | Middlenames | LastName | Gender | Dob | Dod | Warning_flag | Worth |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| 1 | 1.00 | Mr | fname1 | NULL | lname1 | m | 1990-01-01 | NULL | NULL | NULL |
| 2 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
| 3 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
3 rows in set (0.00 sec)
MariaDB [BANK]>
MariaDB [BANK]> SELECT *
-> from customer
-> WHERE position('a' in lastname) > 0;
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| id | version | title | FirstName | Middlenames | LastName | Gender | Dob | Dod | Warning_flag | Worth |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| 1 | 1.00 | Mr | fname1 | NULL | lname1 | m | 1990-01-01 | NULL | NULL | NULL |
| 2 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
| 3 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
3 rows in set (0.00 sec)
MariaDB [BANK]>
MariaDB [BANK]> SELECT *
-> from customer
-> WHERE locate('a',lastname) > 0;
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| id | version | title | FirstName | Middlenames | LastName | Gender | Dob | Dod | Warning_flag | Worth |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
| 1 | 1.00 | Mr | fname1 | NULL | lname1 | m | 1990-01-01 | NULL | NULL | NULL |
| 2 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
| 3 | 1.00 | Mrs | fname1 | NULL | lname1 | f | 1990-01-01 | NULL | NULL | NULL |
+------+---------+-------+-----------+-------------+----------+--------+------------+------+--------------+-------+
3 rows in set (0.00 sec)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.