Uko ndani ya app. Fungua kwenye browser kwa muonekano na downloads bora.
September 2, 2026 9 min read Database

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 INTO

Sasa baada ya kuingiza data, tunahitaji kujifunza jinsi ya kuisoma na kuionyesha.

Command muhimu tutakayojifunza katika somo hili ni:

SELECT

SELECT 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 SELECT ni 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_at

Lakini tunahitaji:

student_name
gender

Ni 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
Female

Ukiandika:

SELECT gender
FROM students;

unaweza kuona:

Female
Male
Female
Male
Female

Lakini ukiandika:

SELECT DISTINCT gender
FROM students;

utapata:

Female
Male

17. Mfano wa DISTINCT

Tuna table:

students

Asha      Female
John      Male
Neema     Female
Peter     Male
Anna      Female

Query:

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    Chemistry

Tukiandika:

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:

AS

Mfano:

SELECT student_name AS name
FROM students;

Badala ya heading:

student_name

result inaweza kuonyesha:

name

20. 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_name

Tukiandika:

SELECT student_name AS name
FROM students;

hatujabadilisha database structure.

Jina halisi bado ni:

student_name

name 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 MySQL

24. 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 Joseph

25. 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:

30

Hii inaonyesha kuwa SELECT inaweza kutumika pia kufanya calculations.


27. SELECT na Arithmetic

Mfano:

SELECT 100 + 50;

Result:

150

Mfano:

SELECT 100 - 25;

Result:

75

Mfano:

SELECT 10 * 5;

Result:

50

28. 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
└── marks

Tunaweza 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
gender

Ukiandika:

SELECT student_address
FROM students;

MySQL inaweza kutoa error kwa sababu:

student_address

haipo.

Unaweza kuangalia structure ya table kwa:

DESC students;

36. Kutumia Table Ambayo Haipo

Mfano:

SELECT * FROM student;

lakini table halisi inaitwa:

students

MySQL inaweza kutoa error.

Sahihi:

SELECT * FROM students;

37. Kuchagua Database Sahihi

Kama una databases nyingi:

school_management
shop_management
blog_system

Ni 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 Posts

40. 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 BY

ambazo 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:

teachers

yenye:

teacher_id
teacher_name
gender
subject
phone_number

Kisha andika queries za:

  1. Kuonyesha walimu wote
  2. Kuonyesha teacher names pekee
  3. Kuonyesha teacher name na subject
  4. Kuonyesha gender pekee
  5. Kuonyesha genders zisizojirudia
  6. Kubadilisha teacher_name ionekane kama Teacher Name

Mfano:

SELECT teacher_name AS 'Teacher Name'
FROM teachers;

43. Challenge ya Somo

Tengeneza table:

products

iwe na:

product_id
product_name
category
price
quantity

Ingiza products tano.

Kisha andika queries za:

SELECT * FROM products;

Kuonyesha:

product_name
price

Pia 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:

  1. SELECT inatumika kufanya nini?
  2. * ina maana gani?
  3. FROM ina kazi gani?
  4. Kuna tofauti gani kati ya SELECT * na SELECT student_name?
  5. DISTINCT inatumika kufanya nini?
  6. AS inatumika kufanya nini?
  7. Alias inabadilisha jina halisi la column?
  8. Tunawezaje kuchagua columns nyingi?
  9. Tunawezaje kuona structure ya table?
  10. Kwa nini si vizuri kutumia SELECT * kila mahali katika mfumo mkubwa?

45. Muhtasari wa Somo

Katika somo hili tumejifunza command:

SELECT

ambayo 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.

Share this post

Comments

0
No comments yet. Be the first to comment.

Continue Reading

Subscribe

Get new updates

Jiunge upokee posts mpya, tutorials, na updates za mifumo moja kwa moja kwenye email yako.

Quick Actions