Data hanya berguna bila bisa dimasukkan, dibaca, diubah, dan dihapus dengan aman. Section ini berlatih empat perintah inti DML dari bentuk paling sederhana sampai pola lanjutan seperti INSERT … ON DUPLICATE KEY UPDATE, REPLACE INTO, dan TRUNCATE TABLE.
Pelajari cara menambah baris data ke tabel dengan INSERT ... VALUES: bentuk lengkap dengan daftar kolom eksplisit, berbagai jenis nilai seperti string, angka, tanggal, dan NULL, hingga menyalin data lewat INSERT ... SELECT.
Buka → # SELECTPelajari cara membaca data dengan SELECT: memilih kolom tertentu, memakai SELECT dari seluruh kolom, memberi alias kolom dengan AS, menghitung ekspresi seperti harga * 0.9, memfilter dengan WHERE, dan membatasi hasil dengan LIMIT.
Buka → # UPDATEPelajari cara mengubah data yang sudah tersimpan dengan UPDATE SET: memperbarui satu atau beberapa kolom dengan WHERE, membaca arti Rows matched versus Changed, serta bahaya lupa WHERE yang memperbarui seluruh baris tabel.
Buka → # DELETEPelajari cara menghapus baris dari tabel dengan DELETE WHERE, menghapus beberapa baris sekaligus, interaksi DELETE dengan foreign key ON DELETE CASCADE, bahaya DELETE tanpa WHERE, serta perilaku AUTO_INCREMENT yang tidak ikut ter-reset.
Buka → # INSERT Multiple RowsPelajari cara menambahkan banyak baris sekaligus dengan INSERT VALUES multi-baris: membaca output N rows affected, urutan baris dan penomoran AUTO_INCREMENT pada batch, sifat atomik statement, INSERT ... SELECT multi-baris, hingga batas max_allowed_packet.
Buka → # INSERT On Duplicate KEY UPDATEPelajari pola upsert INSERT ... ON DUPLICATE KEY UPDATE: sisipkan baris baru atau perbarui baris yang sudah ada dalam satu statement, baca arti output 1, 2, dan 0 rows affected, gunakan alias baris AS untuk merujuk nilai baru, dan terapkan upsert multi-baris untuk sinkronisasi data.
Buka → # REPLACE IntoPelajari REPLACE INTO sebagai alternatif upsert yang bekerja dengan hapus-lalu-sisip: lihat bukti nyata kolom yang tidak disebut kembali ke nilai default, id AUTO_INCREMENT baru, perbandingan dengan ON DUPLICATE KEY UPDATE, dan alasan menghindari REPLACE saat tabel di-referensikan foreign key.
Buka → # TRUNCATE TABLEPelajari cara mengosongkan seluruh isi tabel dengan TRUNCATE TABLE: bukti nyata AUTO_INCREMENT di-reset ke 1, sifat DDL tanpa WHERE yang tidak bisa dibatalkan dengan ROLLBACK, galat ERROR 1701 saat tabel di-referensikan foreign key, serta perbandingan DELETE, TRUNCATE, dan DROP.
Buka →