MySQL Database Full Course – Somo la 9: SELECT – Jinsi ya Kusoma na Kuonyesha Data Kutoka MySQL Database
Karibu kwenye Somo la 9 la MySQL Database Full Course kwa Kiswahili.
Katika somo lililopita tulijifunza jinsi ya kuingiza data kwenye table kwa kutumia:
INSERT INTOSasa baada ya kuingiza data, tunahitaji kujifunza jinsi ya kuisoma na kuionyesha.
Command muhimu tutakayojifunza katika somo hili ni:
SELECTSELECT ni moja ya SQL commands zinazotumika sana katika MySQL.
Utaitumia kila wakati unapohitaji kusoma data kutoka kwenye database.
Kwa mfano:
- Kuonyesha wanafunzi wote
- Kuonyesha walimu
- Kuonyesha marks
- Kuonyesha subjects
- Kuonyesha users
- Kuonyesha products
- Kuonyesha blog posts
- Kuonyesha taarifa maalumu kutoka table
Malengo ya Somo
Baada ya kumaliza somo hili utaweza:
- Kuelewa
SELECTni nini - Kutumia
SELECT * - Kuchagua column moja
- Kuchagua columns nyingi
- Kuonyesha records kutoka table
- Kutumia
DISTINCT - Kutumia aliases kwa
AS - Kuchanganya text na columns
- Kuelewa tofauti ya
SELECT *na kuchagua columns maalumu - Kuandika queries safi na zinazoeleweka
- Kutumia SELECT katika mfumo halisi wa shule
1. SELECT ni Nini?
SELECT ni SQL command inayotumika kusoma data kutoka kwenye table.
Mfano:
SELECT * FROM students;Command hii ina maana:
Chukua records zote kutoka kwenye table ya students.
2. Structure ya SELECT
Muundo wa kawaida ni:
SELECT column_name
FROM table_name;Mfano:
SELECT student_name
FROM students;Hii itaonyesha majina ya wanafunzi pekee.
3. SELECT *
Alama:
*ina maana columns zote.
Kwa hiyo:
SELECT * FROM students;ina maana:
Chukua columns zote na records zote kutoka students.
4. Tutumie Table ya Students
Fikiria tuna table hii:
CREATE TABLE students (
student_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(100),
gender VARCHAR(10),
phone_number VARCHAR(20),
email VARCHAR(150)
);Tumeingiza records hizi:
INSERT INTO students (
student_name,
gender,
phone_number,
email
)
VALUES
('Asha Mussa', 'Female', '0711111111', 'asha@example.com'),
('John Peter', 'Male', '0722222222', 'john@example.com'),
('Neema Joseph', 'Female', '0733333333', 'neema@example.com'),
('Peter Michael', 'Male', '0744444444', 'peter@example.com');5. Kuonyesha Wanafunzi Wote
Tumia:
SELECT * FROM students;Unaweza kupata:
+------------+---------------+--------+--------------+-------------------+
| student_id | student_name | gender | phone_number | email |
+------------+---------------+--------+--------------+-------------------+
| 1 | Asha Mussa | Female | 0711111111 | asha@example.com |
| 2 | John Peter | Male | 0722222222 | john@example.com |
| 3 | Neema Joseph | Female | 0733333333 | neema@example.com |
| 4 | Peter Michael | Male | 0744444444 | peter@example.com |
+------------+---------------+--------+--------------+-------------------+6. Kuchagua Column Moja
Ikiwa tunataka majina pekee:
SELECT student_name
FROM students;Result inaweza kuwa:
+---------------+
| student_name |
+---------------+
| Asha Mussa |
| John Peter |
| Neema Joseph |
| Peter Michael |
+---------------+7. Kuchagua Columns Mbili
Tunaweza kuonyesha jina na gender:
SELECT student_name, gender
FROM students;Result:
+---------------+--------+
| student_name | gender |
+---------------+--------+
| Asha Mussa | Female |
| John Peter | Male |
| Neema Joseph | Female |
| Peter Michael | Male |
+---------------+--------+8. Kuchagua Columns Nyingi
Tunaweza kuandika:
SELECT
student_name,
gender,
phone_number
FROM students;Hii itaonyesha columns hizo tatu pekee.
9. Kwa Nini Tusitumie SELECT * Kila Mara?
SELECT * ni rahisi sana kwa beginner.
Mfano:
SELECT * FROM students;Lakini kwenye mfumo mkubwa inaweza kuleta data nyingi ambazo hatuzihitaji.
Mfano kama table ina columns:
student_id
student_name
gender
phone_number
email
address
date_of_birth
guardian_name
guardian_phone
created_at
updated_atLakini tunahitaji:
student_name
genderNi bora kuandika:
SELECT student_name, gender
FROM students;Hii hufanya query iwe clear zaidi na inaweza kupunguza data isiyohitajika.
10. Mpangilio wa Columns Katika SELECT
Mpangilio unaoandika columns ndiyo unaweza kuonekana kwenye result.
Mfano:
SELECT gender, student_name
FROM students;Result inaweza kuanza:
+--------+---------------+
| gender | student_name |
+--------+---------------+Lakini ukiandika:
SELECT student_name, gender
FROM students;inaweza kuwa:
+---------------+--------+
| student_name | gender |
+---------------+--------+11. SELECT Haibadilishi Data
SELECT ni command ya kusoma data.
Mfano:
SELECT * FROM students;haitafuta data.
Haibadilishi data.
Haiingizi data mpya.
Inasoma tu taarifa zilizopo.
12. SELECT na Table ya Teachers
Fikiria tuna:
CREATE TABLE teachers (
teacher_id INT PRIMARY KEY AUTO_INCREMENT,
teacher_name VARCHAR(100),
gender VARCHAR(10),
subject VARCHAR(100),
phone_number VARCHAR(20)
);Kisha:
INSERT INTO teachers (
teacher_name,
gender,
subject,
phone_number
)
VALUES
('Joseph Michael', 'Male', 'Mathematics', '0711111111'),
('Anna Charles', 'Female', 'English', '0722222222'),
('Peter John', 'Male', 'Physics', '0733333333'),
('Neema Mussa', 'Female', 'Chemistry', '0744444444');Kuonyesha walimu wote:
SELECT * FROM teachers;13. Kuonyesha Teacher Name na Subject
SELECT teacher_name, subject
FROM teachers;Result inaweza kuwa:
+----------------+-------------+
| teacher_name | subject |
+----------------+-------------+
| Joseph Michael | Mathematics |
| Anna Charles | English |
| Peter John | Physics |
| Neema Mussa | Chemistry |
+----------------+-------------+14. SELECT na Table ya Subjects
Tutengeneze:
CREATE TABLE subjects (
subject_id INT PRIMARY KEY AUTO_INCREMENT,
subject_name VARCHAR(100)
);Ingiza subjects:
INSERT INTO subjects (subject_name)
VALUES
('Mathematics'),
('English Language'),
('Physics'),
('Chemistry'),
('Biology'),
('Geography');Kuonyesha zote:
SELECT * FROM subjects;15. Kuonyesha Subject Names Pekee
SELECT subject_name
FROM subjects;16. SELECT DISTINCT ni Nini?
DISTINCT inatumika kuondoa duplicate values kwenye result.
Fikiria table ya students ina:
Female
Male
Female
Male
FemaleUkiandika:
SELECT gender
FROM students;unaweza kuona:
Female
Male
Female
Male
FemaleLakini ukiandika:
SELECT DISTINCT gender
FROM students;utapata:
Female
Male17. Mfano wa DISTINCT
Tuna table:
students
Asha Female
John Male
Neema Female
Peter Male
Anna FemaleQuery:
SELECT DISTINCT gender
FROM students;Result:
+--------+
| gender |
+--------+
| Female |
| Male |
+--------+18. DISTINCT na Subjects
Fikiria table ya teachers:
Joseph Mathematics
Anna English
Peter Physics
John Mathematics
Neema ChemistryTukiandika:
SELECT subject
FROM teachers;Mathematics inaweza kuonekana zaidi ya mara moja.
Lakini:
SELECT DISTINCT subject
FROM teachers;itaonyesha kila subject mara moja.
19. Alias ni Nini?
Alias ni jina la muda tunaloweza kutoa kwa column kwenye result.
Tunatumia:
ASMfano:
SELECT student_name AS name
FROM students;Badala ya heading:
student_nameresult inaweza kuonyesha:
name20. Mfano wa AS
SELECT
student_name AS name,
phone_number AS phone
FROM students;Result inaweza kuwa:
+---------------+------------+
| name | phone |
+---------------+------------+
| Asha Mussa | 0711111111 |
| John Peter | 0722222222 |
| Neema Joseph | 0733333333 |
| Peter Michael | 0744444444 |
+---------------+------------+21. Alias yenye Spaces
Ikiwa alias ina space unaweza kutumia quotes au backticks kulingana na style unayotumia.
Mfano:
SELECT student_name AS 'Student Name'
FROM students;Au:
SELECT student_name AS `Student Name`
FROM students;Result:
+---------------+
| Student Name |
+---------------+22. Alias Haibadilishi Jina Halisi la Column
Fikiria column ni:
student_nameTukiandika:
SELECT student_name AS name
FROM students;hatujabadilisha database structure.
Jina halisi bado ni:
student_namename ni jina la muda kwenye result.
23. SELECT Text ya Kawaida
MySQL pia inaweza ku-select text.
Mfano:
SELECT 'Hello MySQL';Result inaweza kuwa:
Hello MySQL24. Kuchanganya Text na Data
Baadaye tutatumia functions maalumu kama CONCAT.
Mfano:
SELECT CONCAT('Student: ', student_name)
FROM students;Result inaweza kuwa:
Student: Asha Mussa
Student: John Peter
Student: Neema Joseph25. Kutumia Alias na CONCAT
SELECT
CONCAT('Student: ', student_name) AS student
FROM students;Inaweza kutoa:
+------------------------+
| student |
+------------------------+
| Student: Asha Mussa |
| Student: John Peter |
| Student: Neema Joseph |
| Student: Peter Michael |
+------------------------+26. SELECT ya Numbers
Unaweza kuandika:
SELECT 10;Au:
SELECT 10 + 20;MySQL inaweza kurudisha:
30Hii inaonyesha kuwa SELECT inaweza kutumika pia kufanya calculations.
27. SELECT na Arithmetic
Mfano:
SELECT 100 + 50;Result:
150Mfano:
SELECT 100 - 25;Result:
75Mfano:
SELECT 10 * 5;Result:
5028. SELECT na Marks
Tutengeneze table:
CREATE TABLE marks (
mark_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(100),
subject VARCHAR(100),
score DECIMAL(5,2)
);Ingiza marks:
INSERT INTO marks (
student_name,
subject,
score
)
VALUES
('Asha Mussa', 'Mathematics', 85),
('John Peter', 'Mathematics', 72),
('Neema Joseph', 'Mathematics', 91),
('Peter Michael', 'Mathematics', 66);29. Kuonyesha Marks Zote
SELECT * FROM marks;30. Kuonyesha Majina na Scores
SELECT student_name, score
FROM marks;Result:
+---------------+-------+
| student_name | score |
+---------------+-------+
| Asha Mussa | 85.00 |
| John Peter | 72.00 |
| Neema Joseph | 91.00 |
| Peter Michael | 66.00 |
+---------------+-------+31. Kubadilisha Heading ya Score
SELECT
student_name AS 'Student Name',
score AS Marks
FROM marks;32. SELECT na Database Yenye Tables Nyingi
Fikiria database yetu ina:
school_management
│
├── students
├── teachers
├── subjects
├── classes
└── marksTunaweza kusoma data ya students:
SELECT * FROM students;Teachers:
SELECT * FROM teachers;Subjects:
SELECT * FROM subjects;Marks:
SELECT * FROM marks;33. Kusahau FROM
Mfano mbaya:
SELECT student_name students;Ikiwa unataka kuchukua column kutoka table, structure sahihi ni:
SELECT student_name
FROM students;34. Kusahau Comma
Mfano mbaya:
SELECT student_name gender
FROM students;MySQL inaweza kuelewa gender kama alias katika baadhi ya mazingira.
Ikiwa unataka columns mbili lazima uweke comma:
SELECT student_name, gender
FROM students;35. Kutumia Column Ambayo Haipo
Fikiria table ina:
student_id
student_name
genderUkiandika:
SELECT student_address
FROM students;MySQL inaweza kutoa error kwa sababu:
student_addresshaipo.
Unaweza kuangalia structure ya table kwa:
DESC students;36. Kutumia Table Ambayo Haipo
Mfano:
SELECT * FROM student;lakini table halisi inaitwa:
studentsMySQL inaweza kutoa error.
Sahihi:
SELECT * FROM students;37. Kuchagua Database Sahihi
Kama una databases nyingi:
school_management
shop_management
blog_systemNi vizuri kuchagua database:
USE school_management;Kisha:
SELECT * FROM students;38. Kutumia Database na Table Name Pamoja
Unaweza pia kuandika:
SELECT *
FROM school_management.students;Hii inaonyesha table students kutoka database school_management.
39. SELECT Katika PHP
Tutakapofika PHP, SELECT ndiyo itatumika kuonyesha data kwenye website.
Mfano SQL:
SELECT
student_id,
student_name,
gender
FROM students;Data inaweza kuonyeshwa kwenye HTML table kama:
+----+--------------+--------+
| ID | Student Name | Gender |
+----+--------------+--------+
| 1 | Asha Mussa | Female |
| 2 | John Peter | Male |
| 3 | Neema Joseph | Female |
+----+--------------+--------+Hii ndiyo msingi wa pages kama:
View Students
View Teachers
View Marks
View Users
View Products
View Posts40. SELECT Katika Admin Dashboard
Admin dashboard inaweza kuhitaji:
SELECT * FROM students;kuonyesha wanafunzi.
Au:
SELECT student_name, gender
FROM students;kuonyesha taarifa maalumu tu.
Baadaye tutajifunza queries zenye:
WHERE
ORDER BY
LIMIT
COUNT
JOIN
GROUP BYambazo zitafanya SELECT kuwa powerful zaidi.
41. Workflow Kamili
Tuchague database:
USE school_management;Tengeneza table:
CREATE TABLE students (
student_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(100),
gender VARCHAR(10),
phone_number VARCHAR(20)
);Ingiza records:
INSERT INTO students (
student_name,
gender,
phone_number
)
VALUES
('Asha Mussa', 'Female', '0711111111'),
('John Peter', 'Male', '0722222222'),
('Neema Joseph', 'Female', '0733333333');Kuonyesha zote:
SELECT * FROM students;Kuonyesha majina:
SELECT student_name
FROM students;Kuonyesha majina na gender:
SELECT student_name, gender
FROM students;Kuonyesha genders zisizojirudia:
SELECT DISTINCT gender
FROM students;42. Mazoezi ya Somo
Tumia table ya:
teachersyenye:
teacher_id
teacher_name
gender
subject
phone_numberKisha andika queries za:
- Kuonyesha walimu wote
- Kuonyesha teacher names pekee
- Kuonyesha teacher name na subject
- Kuonyesha gender pekee
- Kuonyesha genders zisizojirudia
- Kubadilisha
teacher_nameionekane kamaTeacher Name
Mfano:
SELECT teacher_name AS 'Teacher Name'
FROM teachers;43. Challenge ya Somo
Tengeneza table:
productsiwe na:
product_id
product_name
category
price
quantityIngiza products tano.
Kisha andika queries za:
SELECT * FROM products;Kuonyesha:
product_name
pricePia onyesha categories zisizojirudia kwa:
SELECT DISTINCT category
FROM products;Kisha tumia alias:
SELECT
product_name AS 'Product Name',
price AS 'Selling Price'
FROM products;44. Maswali ya Kujipima
Baada ya somo hili jaribu kujibu:
SELECTinatumika kufanya nini?*ina maana gani?FROMina kazi gani?- Kuna tofauti gani kati ya
SELECT *naSELECT student_name? DISTINCTinatumika kufanya nini?ASinatumika kufanya nini?- Alias inabadilisha jina halisi la column?
- Tunawezaje kuchagua columns nyingi?
- Tunawezaje kuona structure ya table?
- Kwa nini si vizuri kutumia
SELECT *kila mahali katika mfumo mkubwa?
45. Muhtasari wa Somo
Katika somo hili tumejifunza command:
SELECTambayo hutumika kusoma data kutoka MySQL database.
Kuonyesha kila kitu:
SELECT * FROM students;Kuonyesha column moja:
SELECT student_name
FROM students;Kuonyesha columns nyingi:
SELECT student_name, gender
FROM students;Kuondoa duplicate values:
SELECT DISTINCT gender
FROM students;Kutumia alias:
SELECT student_name AS 'Student Name'
FROM students;Tumeelewa pia kuwa SELECT ndiyo msingi wa kusoma taarifa kwenye database na baadaye itatumika sana katika PHP, dashboards, reports na mifumo mbalimbali.
Somo Linalofuata
Katika Somo la 10 tutajifunza:
WHERE Clause – Jinsi ya Kuchagua Data Maalumu Katika MySQL
Tutajifunza:
WHERE- Kuchagua record kwa ID
- Kuchagua kwa jina
- Kuchagua kwa gender
- Operators kama
= ><>=<=!=<>- Kuchuja marks
- Kuchagua records maalumu
- Mifano ya students na marks
- Mazoezi ya WHERE
Hapo ndipo tutaanza kuifanya SELECT iwe powerful zaidi kwa kuchukua records tunazohitaji badala ya kuonyesha kila kitu.
🚀 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.