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

MySQL Database Full Course – Somo la 14: UPDATE na SET – Jinsi ya Kubadilisha Data Iliyopo Katika MySQL

Karibu kwenye Somo la 14 la MySQL Database Full Course kwa Kiswahili.

Katika somo lililopita tulijifunza kutumia:

LIMIT

na:

OFFSET

kupunguza idadi ya records tunazotaka kuonyesha.

Sasa tutajifunza jinsi ya kubadilisha data ambayo tayari ipo kwenye table.

Command muhimu tutakayotumia ni:

UPDATE

pamoja na:

SET

UPDATE ni command muhimu sana katika mifumo halisi kwa sababu taarifa zinaweza kubadilika.

Kwa mfano:

  • Mwanafunzi amebadilisha phone number
  • Jina limekosewa na linahitaji kurekebishwa
  • Mwalimu amebadilisha subject
  • Marks zimekosewa
  • Product price imebadilika
  • Stock imeongezeka
  • User amebadilisha email
  • Status ya record imebadilika

Malengo ya Somo

Baada ya kumaliza somo hili utaweza:

  • Kuelewa UPDATE ni nini
  • Kuelewa SET ni nini
  • Kubadilisha column moja
  • Kubadilisha columns nyingi
  • Kutumia WHERE pamoja na UPDATE
  • Ku-update record kwa Primary Key
  • Kubadilisha marks
  • Kubadilisha phone number
  • Kubadilisha prices
  • Kutumia conditions kwenye UPDATE
  • Kuelewa hatari ya UPDATE bila WHERE
  • Kuangalia data kabla na baada ya UPDATE
  • Kuepuka makosa ya kawaida

1. UPDATE ni Nini?

UPDATE ni SQL command inayotumika kubadilisha data iliyopo ndani ya table.

Mfano:

UPDATE students
SET phone_number = '0766666666'
WHERE student_id = 2;

Hii ina maana:

Badilisha phone number ya student mwenye ID 2.


2. SET ni Nini?

SET hutumika kuonyesha column na value mpya tunayotaka kuweka.

Mfano:

SET phone_number = '0766666666'

Hapa tunasema:

Weka phone_number kuwa 0766666666.


3. Structure ya UPDATE

Muundo wa kawaida ni:

UPDATE table_name
SET column_name = new_value
WHERE condition;

Mfano:

UPDATE students
SET student_name = 'Asha Hassan'
WHERE student_id = 1;

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),
    age INT,
    phone_number VARCHAR(20),
    class_name VARCHAR(50)
);

Ingiza data:

INSERT INTO students (
    student_name,
    gender,
    age,
    phone_number,
    class_name
)
VALUES
('Asha Mussa', 'Female', 16, '0711111111', 'Form One'),
('John Peter', 'Male', 17, '0722222222', 'Form Two'),
('Neema Joseph', 'Female', 15, '0733333333', 'Form One'),
('Peter Michael', 'Male', 18, '0744444444', 'Form Three');

5. Kuangalia Data Kabla ya UPDATE

Kabla ya kubadilisha record, ni vizuri kuiangalia kwanza.

Mfano:

SELECT *
FROM students
WHERE student_id = 2;

Unaweza kuona:

student_id: 2
student_name: John Peter
phone_number: 0722222222

6. Kubadilisha Phone Number

UPDATE students
SET phone_number = '0766666666'
WHERE student_id = 2;

Baada ya hapo:

SELECT *
FROM students
WHERE student_id = 2;

Phone number mpya inaweza kuwa:

0766666666

7. Kubadilisha Jina la Student

UPDATE students
SET student_name = 'John Michael'
WHERE student_id = 2;

Hii itabadilisha jina la student mwenye ID 2 pekee.


8. Kwa Nini WHERE ni Muhimu?

Hili ni jambo muhimu sana.

Query:

UPDATE students
SET class_name = 'Form Two';

haina WHERE.

Hii inaweza kubadilisha:

Records zote kwenye students table.

Kila student anaweza kuwekwa Form Two.

Ndiyo maana lazima uwe makini sana na UPDATE.


9. UPDATE Bila WHERE ni Hatari

Mfano:

UPDATE students
SET gender = 'Male';

Hii inaweza kufanya records zote ziwe:

Male

Ikiwa ulikuwa unataka kubadilisha student mmoja tu, umefanya kosa kubwa.

Kwa hiyo rule muhimu ni:

Kabla ya kufanya UPDATE, jiulize kama unahitaji WHERE.


10. UPDATE kwa Primary Key

Njia salama na ya kawaida ni kutumia Primary Key.

Mfano:

UPDATE students
SET phone_number = '0755555555'
WHERE student_id = 3;

Kwa sababu student_id ni unique, tunalenga record moja maalumu.


11. Kubadilisha Age

UPDATE students
SET age = 16
WHERE student_id = 3;

12. Kubadilisha Class

UPDATE students
SET class_name = 'Form Two'
WHERE student_id = 3;

13. Kubadilisha Columns Nyingi

Unaweza kubadilisha zaidi ya column moja kwa query moja.

Mfano:

UPDATE students
SET
    student_name = 'Neema Hassan',
    age = 16,
    phone_number = '0788888888'
WHERE student_id = 3;

Hii itabadilisha columns tatu.


14. Comma Kwenye SET

Columns nyingi zinatenganishwa kwa comma.

Mfano sahihi:

UPDATE students
SET
    age = 17,
    class_name = 'Form Two'
WHERE student_id = 1;

15. UPDATE kwa Jina

Unaweza kutumia:

UPDATE students
SET phone_number = '0712345678'
WHERE student_name = 'Asha Mussa';

Lakini hii inaweza kuwa risky ikiwa students wawili wana jina moja.

Kwa hiyo Primary Key mara nyingi ni bora zaidi.


16. Kwa Nini Primary Key ni Bora?

Fikiria tuna students wawili:

Asha Mussa
Asha Mussa

Ukiandika:

UPDATE students
SET class_name = 'Form Three'
WHERE student_name = 'Asha Mussa';

records zote zinazolingana na jina hilo zinaweza kubadilika.

Lakini:

UPDATE students
SET class_name = 'Form Three'
WHERE student_id = 8;

inalenga record moja maalumu.


17. UPDATE na Text

Text inawekwa kwenye quotes.

Mfano:

UPDATE students
SET gender = 'Female'
WHERE student_id = 1;

18. UPDATE na Numbers

Numeric values hazihitaji quotes.

Mfano:

UPDATE students
SET age = 18
WHERE student_id = 1;

19. UPDATE na NULL

Unaweza kuweka column kuwa NULL ikiwa column inaruhusu NULL.

Mfano:

UPDATE students
SET phone_number = NULL
WHERE student_id = 4;

Hii ina maana phone number haipo.


20. Kutofautisha NULL na 'NULL'

Sahihi:

SET phone_number = NULL

Hii ni SQL NULL.

Lakini:

SET phone_number = 'NULL'

hii ni text yenye neno:

NULL

Ni vitu tofauti.


21. UPDATE na Table ya Marks

Tutengeneze:

CREATE TABLE marks (
    mark_id INT PRIMARY KEY AUTO_INCREMENT,
    student_name VARCHAR(100),
    subject VARCHAR(100),
    score DECIMAL(5,2)
);

Ingiza:

INSERT INTO marks (
    student_name,
    subject,
    score
)
VALUES
('Asha Mussa', 'Mathematics', 85),
('John Peter', 'Mathematics', 42),
('Neema Joseph', 'Mathematics', 91),
('Peter Michael', 'Mathematics', 55);

22. Kubadilisha Marks

Fikiria score ya John Peter ilikosewa.

Tuna:

42

lakini score sahihi ni:

62

Tunaweza kufanya:

UPDATE marks
SET score = 62
WHERE mark_id = 2;

23. Kuangalia Marks Baada ya UPDATE

SELECT *
FROM marks
WHERE mark_id = 2;

Unaweza kuona:

John Peter
Mathematics
62

24. Kubadilisha Subject na Score

UPDATE marks
SET
    subject = 'English',
    score = 75
WHERE mark_id = 4;

25. UPDATE na WHERE Condition

Sio lazima WHERE iwe Primary Key kila wakati.

Mfano:

UPDATE students
SET class_name = 'Form Two'
WHERE age = 16;

Hii inaweza kubadilisha students wote wenye age 16.

Hapa tunakusudia records nyingi.


26. UPDATE Records Nyingi

Mfano:

UPDATE products
SET price = 50000
WHERE category = 'Accessories';

Products zote za category Accessories zinaweza kupata price mpya.

Kwa hiyo UPDATE inaweza kubadilisha:

  • Record moja
  • Records nyingi
  • Records zote

Kulingana na condition yako.


27. UPDATE na AND

Tunaweza kutumia:

UPDATE students
SET class_name = 'Form Two'
WHERE gender = 'Female'
AND age = 16;

Hii itabadilisha Female students wenye age 16 tu.


28. UPDATE na OR

Mfano:

UPDATE students
SET class_name = 'Special Class'
WHERE student_id = 1
OR student_id = 3;

Records zenye IDs 1 na 3 zinaweza kubadilishwa.


29. UPDATE na NOT

Mfano:

UPDATE students
SET class_name = 'General Class'
WHERE NOT gender = 'Female';

Kwa data yenye Male na Female, inaweza kubadilisha Male students.

Lakini tumia conditions kama hizi kwa umakini mkubwa.


30. UPDATE na Comparison Operators

Unaweza kutumia:

=
>
<
>=
<=
!=
<>

Mfano:

UPDATE products
SET discount = 10
WHERE price >= 500000;

ikiwa table ina column ya discount.


31. UPDATE katika Products Table

Fikiria:

CREATE TABLE products (
    product_id INT PRIMARY KEY AUTO_INCREMENT,
    product_name VARCHAR(100),
    price DECIMAL(10,2),
    quantity INT
);

32. Kubadilisha Product Price

UPDATE products
SET price = 1600000
WHERE product_id = 1;

33. Kubadilisha Quantity

UPDATE products
SET quantity = 20
WHERE product_id = 1;

34. Kubadilisha Price na Quantity

UPDATE products
SET
    price = 1550000,
    quantity = 15
WHERE product_id = 1;

35. Kuongeza Quantity kwa Value Iliyopo

UPDATE inaweza kufanya calculation.

Mfano:

UPDATE products
SET quantity = quantity + 10
WHERE product_id = 1;

Kama quantity ilikuwa:

5

inaweza kuwa:

15

36. Kupunguza Quantity

Mfano:

UPDATE products
SET quantity = quantity - 1
WHERE product_id = 1;

Hii ni concept muhimu kwenye shop system baada ya product kuuzwa.


37. Kuongeza Salary kwa Employees

Fikiria table:

employees

Unaweza kufanya:

UPDATE employees
SET salary = salary + 100000
WHERE employee_id = 2;

38. Kuongeza Salary kwa Department Nzima

UPDATE employees
SET salary = salary + 50000
WHERE department = 'IT';

Employees wote wa IT wanaweza kuongezewa salary.


39. Percentage Increase

Unaweza kufanya calculation.

Mfano kuongeza price kwa asilimia 10:

UPDATE products
SET price = price * 1.10
WHERE category = 'Electronics';

Hii inaongeza 10%.

Lakini kabla ya kufanya update ya records nyingi, ni vizuri sana kufanya SELECT kwanza.


40. SELECT Kabla ya UPDATE

Hii ni habit muhimu.

Kabla ya:

UPDATE products
SET price = price * 1.10
WHERE category = 'Electronics';

anza na:

SELECT *
FROM products
WHERE category = 'Electronics';

Angalia kama records unazotaka ndizo zitakazobadilishwa.

Kisha ndiyo ufanye UPDATE.


41. Workflow Salama ya UPDATE

Hatua nzuri ni:

1. SELECT record
2. Hakikisha ni record sahihi
3. UPDATE
4. SELECT tena
5. Hakikisha change imefanyika vizuri

Mfano:

SELECT *
FROM students
WHERE student_id = 3;

Kisha:

UPDATE students
SET phone_number = '0788888888'
WHERE student_id = 3;

Halafu:

SELECT *
FROM students
WHERE student_id = 3;

42. UPDATE na LIMIT

MySQL inaweza kuruhusu matumizi kama:

UPDATE students
SET class_name = 'Form Two'
WHERE age = 16
LIMIT 1;

Hii inaweza kupunguza update hadi record moja.

Lakini usitumie LIMIT kama mbadala wa condition nzuri.

Ni bora kutumia identifier sahihi kama Primary Key.


43. Makosa ya Kawaida – Kusahau WHERE

Hili ndiyo kosa kubwa zaidi.

Mfano:

UPDATE students
SET class_name = 'Form Four';

Hii inaweza kubadilisha students wote.

Ikiwa ulikuwa unataka student mmoja tu, hiyo ni hatari.


44. Makosa ya Kawaida – Kusahau SET

Mfano mbaya:

UPDATE students
phone_number = '0711111111'
WHERE student_id = 1;

Sahihi:

UPDATE students
SET phone_number = '0711111111'
WHERE student_id = 1;

45. Makosa ya Kawaida – Kusahau Comma

Mfano mbaya:

UPDATE students
SET
    age = 17
    class_name = 'Form Two'
WHERE student_id = 1;

Sahihi:

UPDATE students
SET
    age = 17,
    class_name = 'Form Two'
WHERE student_id = 1;

46. Makosa ya Kawaida – Column Isiyopo

Mfano:

UPDATE students
SET location = 'Masasi'
WHERE student_id = 1;

Lakini kama location haipo, MySQL itatoa error.

Tumia:

DESC students;

kuangalia columns.


47. Makosa ya Kawaida – Table Isiyopo

Mfano:

UPDATE student
SET age = 18
WHERE student_id = 1;

lakini table inaitwa:

students

Sahihi:

UPDATE students
SET age = 18
WHERE student_id = 1;

48. Makosa ya Kawaida – Quotes

Mfano mbaya:

UPDATE students
SET student_name = Asha Hassan
WHERE student_id = 1;

Sahihi:

UPDATE students
SET student_name = 'Asha Hassan'
WHERE student_id = 1;

49. Makosa ya Kawaida – Condition Isiyo Sahihi

Fikiria unataka ID 5 lakini ukaandika:

UPDATE students
SET phone_number = '0766666666'
WHERE student_id = 6;

Query inaweza kuwa valid lakini ukabadilisha record isiyo sahihi.

Ndiyo maana SELECT kabla ya UPDATE ni muhimu.


50. UPDATE na Safe Update Mode

Katika baadhi ya MySQL tools unaweza kukutana na error kuhusu:

Safe Update Mode

Hii inaweza kutokea unapojaribu update bila kutumia key column kwenye WHERE.

Mfano:

UPDATE students
SET age = 18
WHERE gender = 'Male';

MySQL Workbench inaweza kuzuia query kulingana na settings.

Safe Update Mode imeundwa kusaidia kuzuia accidental mass updates.

Kwa beginner, ni vizuri kuelewa warning hiyo badala ya kuzima protection bila sababu.


51. UPDATE katika Mfumo wa Shule

User anaweza kufungua page:

Edit Student

Form inaweza kuwa na:

Student Name
Gender
Phone Number
Class

Baada ya kubonyeza:

Update

SQL concept inaweza kuwa:

UPDATE students
SET
    student_name = 'Asha Hassan',
    phone_number = '0712345678',
    class_name = 'Form Two'
WHERE student_id = 1;

52. UPDATE katika PHP

Baadaye tutakapofika PHP, hatutafanya hivi moja kwa moja kwa data ya user:

UPDATE students
SET student_name = '$student_name'
WHERE student_id = $student_id;

Badala yake tutajifunza kutumia:

Prepared Statements

kwa usalama zaidi.

Hii itasaidia kuzuia SQL Injection.


53. UPDATE katika Mfumo wa Marks

Teacher anaweza ku-edit marks.

Mfano:

UPDATE marks
SET score = 78
WHERE mark_id = 15;

54. UPDATE katika User System

Fikiria table:

users

Unaweza kubadilisha email:

UPDATE users
SET email = 'newemail@example.com'
WHERE user_id = 7;

55. UPDATE katika Blog System

Fikiria table:

posts

Admin anaweza ku-edit title:

UPDATE posts
SET title = 'MySQL Tutorial Mpya'
WHERE post_id = 10;

Au title na content:

UPDATE posts
SET
    title = 'MySQL Database Tutorial',
    content = 'Hii ni content iliyorekebishwa.'
WHERE post_id = 10;

56. UPDATE katika Accounting System

Fikiria contribution amount ilikosewa.

Unaweza kufanya:

UPDATE contributions
SET amount = 50000
WHERE contribution_id = 15;

57. UPDATE na Date

Fikiria:

paid_date

Unaweza kufanya:

UPDATE contributions
SET paid_date = '2026-09-02'
WHERE contribution_id = 15;

58. UPDATE na CURRENT_TIMESTAMP

Ikiwa table ina:

updated_at

unaweza kufanya:

UPDATE students
SET
    phone_number = '0788888888',
    updated_at = CURRENT_TIMESTAMP
WHERE student_id = 3;

Hii inaweza kuhifadhi muda wa mwisho record ilipobadilishwa.


59. updated_at Automatically

Table inaweza pia kutengenezwa ili updated_at ibadilike automatically.

Mfano:

CREATE TABLE users (
    user_id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(100),
    updated_at TIMESTAMP
        DEFAULT CURRENT_TIMESTAMP
        ON UPDATE CURRENT_TIMESTAMP
);

Hapo MySQL inaweza kubadilisha updated_at automatically kila record inapofanyiwa update.


60. UPDATE na DEFAULT

Kwenye baadhi ya mazingira unaweza kurudisha column kwenye default yake.

Mfano table ina:

status VARCHAR(20) DEFAULT 'Active'

Unaweza kutumia:

UPDATE users
SET status = DEFAULT
WHERE user_id = 5;

61. UPDATE na Multiple Conditions

Mfano:

UPDATE students
SET class_name = 'Form Two'
WHERE gender = 'Female'
AND age = 16
AND class_name = 'Form One';

Hii inalenga records zinazotimiza conditions zote tatu.


62. Parentheses Katika UPDATE Conditions

Unaweza kutumia:

UPDATE students
SET class_name = 'Special Class'
WHERE (
    student_id = 1
    OR student_id = 3
)
AND age >= 16;

Parentheses husaidia kuweka logic wazi.


63. UPDATE na ORDER BY

MySQL inaweza kuruhusu baadhi ya single-table updates kutumia ORDER BY.

Mfano:

UPDATE products
SET price = price + 1000
WHERE category = 'Electronics'
ORDER BY product_id ASC
LIMIT 2;

Hii inaweza ku-update records 2 za kwanza kulingana na order.

Hata hivyo, kwenye mfumo halisi ni vizuri zaidi kulenga records wazi kwa keys au conditions sahihi.


64. Je UPDATE Inabadilisha Structure ya Table?

Hapana.

UPDATE inabadilisha:

Data

haibadilishi:

Table Structure

Kwa kubadilisha structure tunatumia commands kama:

ALTER TABLE

ambazo tutajifunza baadaye.


65. UPDATE vs ALTER TABLE

UPDATE:

UPDATE students
SET student_name = 'Asha Hassan'
WHERE student_id = 1;

Inabadilisha data.

ALTER TABLE:

ALTER TABLE students
ADD email VARCHAR(150);

Inabadilisha structure.

Ni muhimu kutofautisha hizi.


66. UPDATE vs INSERT

INSERT huongeza record mpya:

INSERT INTO students (student_name)
VALUES ('Asha Mussa');

UPDATE hubadilisha record iliyopo:

UPDATE students
SET student_name = 'Asha Hassan'
WHERE student_id = 1;

67. UPDATE vs SELECT

SELECT husoma data:

SELECT *
FROM students;

UPDATE hubadilisha data:

UPDATE students
SET age = 17
WHERE student_id = 1;

68. Workflow Yetu Mpaka Sasa

Tumeshajifunza:

CREATE DATABASE
USE
CREATE TABLE
PRIMARY KEY
AUTO_INCREMENT
INSERT INTO
SELECT
WHERE
AND
OR
NOT
ORDER BY
LIMIT
OFFSET
UPDATE

Mfano:

SELECT *
FROM students
WHERE gender = 'Female'
ORDER BY student_name ASC
LIMIT 10;

Na sasa:

UPDATE students
SET phone_number = '0712345678'
WHERE student_id = 1;

69. Mazoezi ya Somo

Tumia table ya students yenye:

student_id
student_name
gender
age
phone_number
class_name

Fanya yafuatayo:

  1. Badilisha phone number ya student ID 1.
  2. Badilisha jina la student ID 2.
  3. Badilisha age ya student ID 3.
  4. Badilisha age na class_name ya student ID 4.
  5. Weka phone_number ya student ID 5 kuwa NULL.
  6. Badilisha class ya Female students wenye age 16.
  7. Angalia record kabla na baada ya kila UPDATE.

70. Challenge ya Somo

Tengeneza table:

products

yenye:

product_id
product_name
category
price
quantity

Ingiza products angalau 6.

Kisha:

  1. Badilisha price ya product ID 1.
  2. Badilisha quantity ya product ID 2.
  3. Badilisha price na quantity ya product ID 3.
  4. Ongeza quantity ya product ID 4 kwa 10.
  5. Punguza quantity ya product ID 5 kwa 1.
  6. Ongeza price ya products za Electronics kwa 5%.
  7. Tumia SELECT kabla ya mass update.
  8. Angalia results baada ya UPDATE.

Mfano:

SELECT *
FROM products
WHERE category = 'Electronics';

Kisha:

UPDATE products
SET price = price * 1.05
WHERE category = 'Electronics';

71. Maswali ya Kujipima

Jaribu kujibu:

  1. UPDATE inatumika kufanya nini?
  2. SET inatumika kufanya nini?
  3. Kwa nini WHERE ni muhimu kwenye UPDATE?
  4. Nini kinaweza kutokea ukifanya UPDATE bila WHERE?
  5. Unawezaje kubadilisha columns mbili kwa wakati mmoja?
  6. Kwa nini Primary Key ni nzuri kwenye UPDATE?
  7. Unawezaje kuongeza quantity kwa 5?
  8. Unawezaje kuweka value kuwa NULL?
  9. Kuna tofauti gani kati ya UPDATE na ALTER TABLE?
  10. Kwa nini ni vizuri kufanya SELECT kabla ya UPDATE kubwa?

72. Muhtasari wa Somo

Katika somo hili tumejifunza kutumia:

UPDATE

na:

SET

kubadilisha data iliyopo.

Mfano:

UPDATE students
SET phone_number = '0766666666'
WHERE student_id = 2;

Kubadilisha columns nyingi:

UPDATE students
SET
    student_name = 'John Michael',
    age = 18,
    phone_number = '0712345678'
WHERE student_id = 2;

Kufanya calculation:

UPDATE products
SET quantity = quantity + 10
WHERE product_id = 1;

Tumejifunza pia jambo muhimu sana:

UPDATE bila WHERE inaweza kubadilisha records nyingi au records zote.

Kwa hiyo kabla ya UPDATE kubwa, ni vizuri kuanza na:

SELECT *
FROM table_name
WHERE condition;

uhakikishe condition yako inalenga records sahihi.


Somo Linalofuata

Katika Somo la 15 tutajifunza:

DELETE – Jinsi ya Kufuta Records Katika MySQL

Tutajifunza:

  • DELETE FROM
  • Kufuta record moja
  • Kufuta kwa Primary Key
  • Kutumia WHERE
  • Kufuta records nyingi
  • Kutumia AND na OR
  • Hatari ya DELETE bila WHERE
  • Kuangalia record kabla ya DELETE
  • Tofauti ya DELETE na DROP
  • Tofauti ya DELETE na TRUNCATE
  • Usalama wakati wa kufuta data
  • Mifano ya mifumo halisi
  • Mazoezi ya DELETE

Hili ni somo muhimu sana kwa sababu DELETE inaweza kuondoa data kabisa, hivyo lazima itumike kwa umakini mkubwa.

🚀 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