Iki minangka printah DML (Data Manipulation Language) sing ngganti data: INSERT nambah baris, ngganti baris sing wis ana, mbusak baris. Beda karo (sing mung maca), printah-printah iki ngganti basis data — dadi perlu hati-hati, utamane klausa .
Iki minangka printah DML (Data Manipulation Language) sing ngganti data: INSERT nambah baris, ngganti baris sing wis ana, mbusak baris. Beda karo (sing mung maca), printah-printah iki ngganti basis data — dadi perlu hati-hati, utamane klausa .
UPDATEDELETESELECTWHERE-- insert one row
INSERT INTO users (name, email, age)
VALUES ('Ann', '[email protected]', 30);
-- insert multiple rows at once (efficient)
INSERT INTO users (name, email)
VALUES ('Bob', '[email protected]'), ('Carol', '[email protected]');
-- insert from a query
INSERT INTO archived_users SELECT * FROM users WHERE inactive = true;
Kowe nyatakake kolom lan nilai. Nambah akeh baris ing siji statement luwih efisien tinimbang akeh insert sing kapisah-pisah.
UPDATE users
SET age = 31, updated_at = NOW() -- set one or more columns
WHERE id = 5; -- ❗ WHICH rows to update
-- ❌ DANGER — no WHERE clause updates EVERY row in the table!
UPDATE users SET active = false; -- sets ALL users inactive 😱
Penting: UPDATE (utawa DELETE) tanpa klausa WHERE bakal ngubah saben baris ing tabel. Lali WHERE iku kesalahan sing dahsyat lan asring kedadeyan — selalu priksa rong kali.
DELETE FROM users WHERE id = 5; -- delete a specific row
DELETE FROM users WHERE inactive = true; -- delete matching rows
-- ❌ DANGER — no WHERE deletes the ENTIRE table's contents!
DELETE FROM users;
✓ ALWAYS include a WHERE clause (unless you truly mean to affect all rows)
✓ Test the WHERE first with SELECT (SELECT * WHERE ... → see what you'd affect)
✓ Use TRANSACTIONS (BEGIN ... COMMIT/ROLLBACK) so you can undo mistakes
✓ DELETE vs TRUNCATE: TRUNCATE quickly empties a whole table (faster, but not row-by-row,
can't be rolled back in some DBs, resets auto-increment)
INSERT, UPDATE, lan DELETE iku carane aplikasi ngganti data — dhasar kanggo aplikasi apa wae sing nyimpen lan ngganti informasi (nggawe cathetan, ngedit, mbusak), dadi ngerti bab iki iku pengetahuan penting saben dina bebarengan karo SELECT.
Ngerti carane nambah (siji, akeh, utawa saka query), ngganti (nyetel kolom), lan mbusak baris iku perlu kanggo kabeh operasi sing ngganti data.
Poin paling penting yaiku bahaya klausa WHERE sing ilang: UPDATE utawa DELETE tanpa WHERE bakal ngubah saben baris ing tabel — kesalahan sing dahsyat lan asring banget kedadeyan sing bisa mbusak utawa ilang saben data.
Ngerti bahaya iki lan praktek keamanan (selalu isikan WHERE, tes kondisi karo SELECT dhisik, pake transaksi supaya kesalahan bisa dibatalke) iku pengetahuan sing penting kanggo cegah kecelakaan ilang data sing akeh.
Ngerti detail sing ana gegayane (insert multi-baris sing efisien, DELETE vs TRUNCATE kanggo kosongake tabel) ngrampungake pengetahuan praktis.
Karena ngganti data iku dhasar kanggo aplikasi, lan karena kesalahan ilang-WHERE iku dahsyat lan asring (penyebab asring carane bencana data produksi nyata), kuwat-kuwatan printah DML iki — utamane disiplin kritikal babaran klausa WHERE lan keselamatan transaksi — iku pengetahuan dhasar sing kudu diweruhi kanggo sapa wae sing nulis SQL sing ngganti data, ing ngendi risiko (ilang data sing ora bisa balik) nggawe praktek keamanan sama pentinge karo sintaks.