0Pricing
SQL Academy · Pelajaran

INSERT dengan Banyak Baris

Sisipkan satu atau banyak baris dengan satu pernyataan, dan gunakan INSERT ... SELECT untuk menyalin data antartabel.

INSERT dengan Banyak Baris adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.

INSERT Satu Baris

Bentuk paling sederhana menyebutkan kolom dan menyediakan nilainya:

INSERT INTO users (email, full_name)
VALUES ('alice@example.com', 'Alice Adams');

INSERT Banyak Baris

Sisipkan banyak baris dalam satu pernyataan. Lebih cepat daripada banyak perjalanan bolak-balik:

INSERT INTO users (email, full_name) VALUES
  ('alice@example.com', 'Alice Adams'),
  ('bob@example.com',   'Bob Brown'),
  ('carol@example.com', 'Carol Chen');

Mengapa Banyak Baris Lebih Cepat

Lebih sedikit perjalanan bolak-balik ke basis data, lebih sedikit siklus penguraian dan perencanaan, serta satu kali penulisan WAL ke disk. Untuk penyisipan massal yang terdiri dari ratusan baris, VALUES multi-baris 5–10 kali lebih cepat daripada penyisipan satu per satu.

Nilai DEFAULT

Abaikan sebuah kolom untuk menggunakan DEFAULT-nya (atau NULL):

INSERT INTO orders (user_id, total)
VALUES (1, 99.50);
-- id, created_at, status filled by DEFAULTs

DEFAULT Eksplisit

Atau gunakan kata kunci DEFAULT:

INSERT INTO orders (id, user_id, total, status)
VALUES (DEFAULT, 1, 99.50, DEFAULT);

RETURNING

Dapatkan kembali kolom dari baris yang disisipkan tanpa kueri kedua (PostgreSQL):

INSERT INTO users (email, full_name)
VALUES ('alice@example.com', 'Alice Adams')
RETURNING id, created_at;

INSERT … SELECT

Salin atau ubah baris dari tabel lain:

INSERT INTO archive_orders (id, user_id, total)
SELECT id, user_id, total
FROM orders
WHERE created_at < NOW() - INTERVAL '5 years';

Pemuatan Massal dengan COPY

Untuk puluhan ribu baris atau lebih, gunakan perintah COPY — sejauh ini merupakan cara tercepat:

COPY users (email, full_name) FROM '/tmp/users.csv' (FORMAT csv, HEADER true);

-- Or from STDIN in a client:
COPY users (email, full_name) FROM STDIN;
 alice@example.com\tAlice
 bob@example.com\tBob
 \.

Hindari Penyisipan dalam Transaksi Besar Tanpa Alasan

Satu transaksi = satu blok atomik. Jika impor sejuta baris gagal di tengah jalan, seluruhnya akan dikembalikan. Terkadang Anda memang menginginkan hal itu; terkadang Anda mengelompokkan data per 10 ribu baris.

Kiat Performa INSERT

Untuk penyisipan besar:

  • Hapus indeks sekunder, lakukan penyisipan, lalu buat ulang indeks tersebut
  • Nonaktifkan pemicu / pemeriksaan FK jika aman
  • Gunakan COPY jika memungkinkan
  • Sesuaikan maintenance_work_mem untuk pembuatan ulang indeks

Pratinjau Penanganan Konflik

Untuk "menyisipkan jika baru, jika tidak maka memperbarui", gunakan INSERT ... ON CONFLICT — hal ini dibahas dalam pelajaran berikutnya.

Ringkasan

INSERT cukup mudah; VALUES multi-baris dan INSERT … SELECT mencakup kasus sehari-hari. RETURNING menghindari perjalanan bolak-balik tambahan. Untuk data massal, gunakan COPY.

Pemeriksaan Singkat

Apa cara tercepat untuk memuat 100.000 baris dari file CSV ke PostgreSQL?

Pertanyaan yang Sering Diajukan

Apakah pelajaran “INSERT dengan Banyak Baris” gratis?

Ya — teks lengkap “INSERT dengan Banyak Baris” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “INSERT dengan Banyak Baris”?

Sisipkan satu atau banyak baris dengan satu pernyataan, dan gunakan INSERT ... SELECT untuk menyalin data antartabel. Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai SQL Academy?

Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “INSERT dengan Banyak Baris” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?

Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. INSERT dengan Banyak Baris
  2. UPSERT: ON CONFLICT DO UPDATE (PostgreSQL)
  3. UPDATE dengan FROM dan Pembaruan Bergaya JOIN
  4. DELETE dengan USING dan Pola Aman
← Kembali ke SQL Academy