MySQL Database Full Course – Somo la 16: LIKE na Wildcards (%) na (_) – Jinsi ya Kutafuta Data Katika MySQL
Karibu kwenye Somo la 16 la MySQL Database Full Course kwa Kiswahili.
Katika somo lililopita tulijifunza:
DELETE FROMna jinsi ya kufuta records kwa usalama kwa kutumia WHERE.
Sasa tutajifunza jinsi ya kutafuta data za maandishi (text data) ndani ya database kwa kutumia:
LIKEpamoja na wildcards:
%
_Hili ni somo muhimu sana kwa sababu karibu kila mfumo wa kisasa una sehemu ya:
- Search Student
- Search Product
- Search User
- Search Blog Post
- Search Employee
- Search Customer
Na mara nyingi hutumia LIKE.
1. LIKE ni Nini?
LIKE ni operator inayotumika kutafuta data zinazofanana na pattern fulani.
Mfano:
SELECT *
FROM students
WHERE student_name LIKE 'A%';Hii itatafuta students wote wanaoanza na herufi:
AMfano:
Asha
Anna
Abdallah
Ali2. Wildcard ni Nini?
Wildcard ni alama maalumu inayosaidia kutafuta patterns.
MySQL ina wildcards mbili muhimu:
%
_Tutazijifunza moja baada ya nyingine.
3. Asilimia (%) ni Nini?
% inamaanisha:
Herufi yoyote, namba yoyote, au mchanganyiko wowote wa characters.
Mfano:
SELECT *
FROM students
WHERE student_name LIKE 'A%';Ina maana:
A
Asha
Anna
Abdallah
Ali
A123Vyote vinaweza kupatikana.
4. Kutafuta Jina Linaloanza na Herufi Fulani
Mfano:
SELECT *
FROM students
WHERE student_name LIKE 'J%';Inaweza kurudisha:
John
Joseph
James
JacksonKwa sababu yote yanaanza na:
J5. Kutafuta Jina Linaloishia na Herufi Fulani
Mfano:
SELECT *
FROM students
WHERE student_name LIKE '%a';Inaweza kurudisha:
Asha
Neema
Rehema
AnnaKwa sababu yote yanaishia na:
a6. Kutafuta Neno Lililo Katikati
Mfano:
SELECT *
FROM students
WHERE student_name LIKE '%sha%';Inaweza kurudisha:
Asha
Ashura
Shabankwa sababu ndani ya jina kuna:
sha7. Kutafuta Neno Lolote
Mfano:
SELECT *
FROM students
WHERE student_name LIKE '%m%';Inaweza kurudisha:
Amina
Juma
Omary
MariamKwa sababu zote zina herufi:
mmahali popote.
8. Table ya Students
Tutumie table:
CREATE TABLE students (
student_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(100),
gender VARCHAR(10),
age INT,
class_name VARCHAR(50)
);Ingiza data:
INSERT INTO students (
student_name,
gender,
age,
class_name
)
VALUES
('Asha Mussa','Female',16,'Form One'),
('John Peter','Male',17,'Form Two'),
('Neema Joseph','Female',15,'Form One'),
('Peter Michael','Male',18,'Form Three'),
('Anna Charles','Female',17,'Form Two');9. Kutafuta Students Wanaoanza na A
SELECT *
FROM students
WHERE student_name LIKE 'A%';Matokeo yanaweza kuwa:
Asha Mussa
Anna Charles10. Kutafuta Students Wanaoanza na P
SELECT *
FROM students
WHERE student_name LIKE 'P%';Matokeo:
Peter Michael11. Kutafuta Students Wanaomalizia na "r"
SELECT *
FROM students
WHERE student_name LIKE '%r';Inaweza kurudisha:
Peterau majina mengine yanayoishia na r.
12. Kutafuta Students Wenye "cha"
SELECT *
FROM students
WHERE student_name LIKE '%cha%';Inaweza kurudisha:
Charles13. Kutafuta Students Wenye "Jo"
SELECT *
FROM students
WHERE student_name LIKE '%Jo%';Matokeo:
John Peter
Neema Joseph14. Wildcard ya Underline (_)
Alama:
_ina maana:
Character moja tu.
Sio nyingi kama %.
15. Mfano wa _
SELECT *
FROM students
WHERE student_name LIKE '_sha';Inaweza kupata:
AshaKwa sababu:
_imewakilisha herufi moja:
A16. Mfano Mwingine
SELECT *
FROM students
WHERE student_name LIKE 'A___';Ina maana:
A + characters 3Mfano:
Ashainaweza kulingana.
17. Tofauti ya % na _
%
0 au zaidi ya characters_
character 1 tuMfano:
LIKE 'A%'inaweza kupata:
A
AB
ABC
Asha
AbdallahLakini:
LIKE 'A_'inaweza kupata:
AB
AC
ADtu.
18. LIKE na Numbers
LIKE inaweza kufanya kazi hata kwa values za text zinazobeba numbers.
Mfano:
SELECT *
FROM students
WHERE phone_number LIKE '071%';Matokeo:
0711111111
0712345678
071987654319. Search ya Phone Number
Mfano:
SELECT *
FROM students
WHERE phone_number LIKE '%555%';Inaweza kupata:
075555555520. Search ya Email
Fikiria table ina:
emailUnaweza kutafuta Gmail users:
SELECT *
FROM users
WHERE email LIKE '%gmail.com';21. Search ya Domain
Mfano:
SELECT *
FROM users
WHERE email LIKE '%yahoo.com';22. Search ya Product
Table:
productsMfano:
SELECT *
FROM products
WHERE product_name LIKE '%Laptop%';Inaweza kupata:
HP Laptop
Dell Laptop
Lenovo Laptop23. Search ya Electronics
SELECT *
FROM products
WHERE category LIKE '%Electronics%';24. Search ya Blog Posts
Table:
postsMfano:
SELECT *
FROM posts
WHERE title LIKE '%MySQL%';Inaweza kurudisha posts zote zinazohusiana na MySQL.
25. Search ya Mkoa
SELECT *
FROM schools
WHERE region LIKE '%Mtwara%';26. Search ya Wilaya
SELECT *
FROM schools
WHERE district LIKE '%Masasi%';27. NOT LIKE
Unaweza kutafuta records ambazo hazifanani na pattern.
Mfano:
SELECT *
FROM students
WHERE student_name NOT LIKE 'A%';Matokeo:
Students wote wasioanza na A.
28. NOT LIKE na Mkoa
SELECT *
FROM schools
WHERE region NOT LIKE 'Dar%';29. LIKE na WHERE
Mfano:
SELECT *
FROM students
WHERE student_name LIKE '%Jo%';30. LIKE na AND
SELECT *
FROM students
WHERE student_name LIKE '%Jo%'
AND gender = 'Female';31. LIKE na OR
SELECT *
FROM students
WHERE student_name LIKE 'A%'
OR student_name LIKE 'J%';Matokeo:
Asha
Anna
John
James
Joseph32. LIKE na ORDER BY
SELECT *
FROM students
WHERE student_name LIKE 'A%'
ORDER BY student_name ASC;33. LIKE na LIMIT
SELECT *
FROM students
WHERE student_name LIKE '%a%'
LIMIT 5;34. Search ya Marks
SELECT *
FROM marks
WHERE subject LIKE '%Math%';35. Search ya Employees
SELECT *
FROM employees
WHERE employee_name LIKE '%Michael%';36. Search ya Contribution Types
SELECT *
FROM contribution_types
WHERE name LIKE '%School%';37. Search ya Classes
SELECT *
FROM classes
WHERE class_name LIKE '%Form%';38. Search ya Users
SELECT *
FROM users
WHERE username LIKE 'admin%';39. Search ya Records Zote Zenye Neno Fulani
Mfano:
SELECT *
FROM posts
WHERE content LIKE '%database%';40. Search ya Address
SELECT *
FROM students
WHERE address LIKE '%Masasi%';41. Search ya Occupation
SELECT *
FROM parents
WHERE occupation LIKE '%Farmer%';42. Search ya Tribe
SELECT *
FROM students
WHERE tribe LIKE '%Makonde%';43. Search ya Gender
Ingawa kawaida tunatumia "=":
SELECT *
FROM students
WHERE gender LIKE 'Female';inaweza kufanya kazi pia.
44. Case Sensitivity
Katika mazingira mengi ya MySQL:
Asha
asha
ASHAvinaweza kuonekana sawa kulingana na collation ya table.
Tutajifunza Collations baadaye.
45. LIKE na Multiple Conditions
SELECT *
FROM students
WHERE class_name = 'Form Two'
AND student_name LIKE 'A%';46. LIKE na Parentheses
SELECT *
FROM students
WHERE (
student_name LIKE 'A%'
OR student_name LIKE 'J%'
)
AND age >= 16;47. Makosa ya Kawaida
Mfano mbaya:
SELECT *
FROM students
WHERE student_name LIKE A%;Sahihi:
SELECT *
FROM students
WHERE student_name LIKE 'A%';48. Makosa ya Kusahau %
SELECT *
FROM students
WHERE student_name LIKE 'A';Hii inatafuta value halisi:
Asio majina yanayoanza na A.
49. Makosa ya Kusahau Quotes
LIKE %A%Si sahihi.
Sahihi:
LIKE '%A%'50. Workflow ya Search
Hatua za kawaida:
1. Chagua table
2. Chagua column
3. Tumia LIKE
4. Tumia wildcard
5. Pata resultsMfano:
SELECT *
FROM students
WHERE student_name LIKE '%A%';51. CRUD Mpaka Sasa
Tumejifunza:
CREATE
READ
UPDATE
DELETE
SEARCHKwa kutumia:
INSERT
SELECT
UPDATE
DELETE
LIKE52. Mazoezi
Tumia table ya students.
Andika queries za:
- Students wanaoanza na A
- Students wanaoanza na J
- Students wanaomalizia na a
- Students wenye "Jo"
- Students wasiokuwa wanaanza na A
- Students wa Form Two wanaoanza na A
53. Challenge
Tengeneza table:
productsIngiza products 10.
Kisha andika queries za:
- Products zenye Laptop
- Products zenye Phone
- Products zinazoanza na S
- Products zisizoanza na A
- Products zenye Electronics kwenye category
54. Maswali ya Kujipima
- LIKE ni nini?
- % ina maana gani?
- _ ina maana gani?
- Tofauti ya % na _ ni ipi?
- NOT LIKE ni nini?
- Unawezaje kutafuta jina linaloanza na A?
- Unawezaje kutafuta jina linalomalizia na a?
- Unawezaje kutafuta neno lililo katikati ya text?
- LIKE inaweza kutumika kwenye email?
- LIKE inaweza kutumika kwenye phone number?
55. Muhtasari wa Somo
Katika somo hili tumejifunza:
LIKEpamoja na wildcards:
%
_Mifano:
SELECT *
FROM students
WHERE student_name LIKE 'A%';SELECT *
FROM students
WHERE student_name LIKE '%Jo%';SELECT *
FROM students
WHERE student_name NOT LIKE 'A%';LIKE ni msingi wa search systems nyingi za:
- School Management Systems
- Accounting Systems
- Blog Systems
- E-Commerce Systems
- User Management Systems
Somo Linalofuata
Katika Somo la 17 tutajifunza:
Aggregate Functions katika MySQL
Tutajifunza:
- COUNT()
- SUM()
- AVG()
- MIN()
- MAX()
- Kutumia aggregate functions kwenye marks
- Kutumia aggregate functions kwenye accounting system
- Kutumia aggregate functions na WHERE
- Kutumia aggregate functions na GROUP BY
- Mazoezi na challenges
Hili ni somo muhimu sana kwa sababu linatuwezesha kufanya mahesabu ndani ya database.
🚀 Unahitaji mfumo au website ya biashara?
Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.