Artikel ini berisi INSERT
SQL dasar pernyataan yang dapat digunakan pemula untuk memasukkan data ke dalam tabel database mereka.
Sintaks Dasar
Sintaks dasar untuk memasukkan data dalam SQL adalah seperti ini:
INSERT INTO TableName (Column1, Column2, Column3, ...)
VALUES (Value1, Value2, Value3, ...);
Dimana:
TableName
adalah nama tabel yang ingin Anda masukkan datanyaColumn1
, dll adalah nama kolom yang ingin Anda masukkan datanyaValue1
, dll adalah nilai yang Anda masukkan ke dalam kolom tersebut. Urutan nilai ini harus sesuai dengan urutan kolom yang Anda cantumkan (yaituValue1
masuk keColumn1
, dll).
Anda dapat menghilangkan nama kolom jika Anda memasukkan nilai ke dalam semua kolom. Dalam hal ini, Anda dapat menggunakan sintaks berikut:
INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);
Perhatikan bahwa beberapa DBMS menggunakan sintaks yang lebih kompleks dari ini (yaitu mereka menawarkan lebih banyak opsi), tetapi ini umumnya sintaks dasar yang diperlukan untuk memasukkan data ke dalam tabel.
Sisipkan ke Semua Kolom
Berikut adalah contoh dasar yang menyisipkan data ke semua kolom dalam tabel:
INSERT INTO PetTypes
VALUES( 1, 'Bird' );
Dalam hal ini, ada dua kolom di PetTypes
tabel, dan kami memasukkan nilai ke dalam kedua kolom, oleh karena itu, kami tidak perlu menentukan nama kolom.
Pernyataan di atas sama dengan melakukan ini:
INSERT INTO PetTypes( PetTypeId, PetType )
VALUES( 1, 'Bird' );
Kami dapat memeriksa data kami dengan menjalankan SELECT
pernyataan.
SELECT * FROM PetTypes;
Hasil:
+-------------+-----------+ | PetTypeId | PetType | |-------------+-----------| | 1 | Bird | +-------------+-----------+
Sisipkan ke Beberapa Kolom
Berikut adalah contoh dasar yang menyisipkan data hanya ke beberapa kolom dalam tabel:
INSERT INTO Users( UserId, FirstName, LastName )
VALUES( 1, 'Lansell', 'Letterman' );
Tabel ini sebenarnya memiliki empat kolom, tetapi kami hanya memasukkan data ke dalam tiga kolom tersebut. Kita dapat melihat bahwa ketika kita menjalankan SELECT
pernyataan terhadap tabel setelah memasukkan data.
SELECT * FROM Users;
Hasil:
+----------+-------------+------------+-----------------------------+ | UserId | FirstName | LastName | DateInserted | |----------+-------------+------------+-----------------------------| | 1 | Lansell | Letterman | 2020-11-21 05:18:50.0029455 | +----------+-------------+------------+-----------------------------+
Cara Memasukkan Nilai dalam Urutan yang Salah
Metode daftar kolom memungkinkan Anda memasukkan data yang tidak dalam urutan yang sama:
INSERT INTO Users( LastName, FirstName, UserId )
VALUES( 'Pitt', 'Bart', 2 );
Dalam contoh ini saya telah mengatur ulang urutan kolom dan nilainya masing-masing. Untungnya, daftar kolom memberikan DBMS panduan tentang di mana setiap nilai harus dimasukkan.
Jadi sekarang, jika kita memilih data kita, kita akan melihat bahwa itu telah dimasukkan ke dalam kolom yang benar.
SELECT * FROM Users;
Hasil:
+----------+-------------+------------+-----------------------------+ | UserId | FirstName | LastName | DateInserted | |----------+-------------+------------+-----------------------------| | 1 | Lansell | Letterman | 2020-11-21 05:18:50.0029455 | | 2 | Bart | Pitt | 2020-11-21 05:30:07.4456867 | +----------+-------------+------------+-----------------------------+
Masukkan Hasil Kueri
Anda juga dapat menyisipkan kumpulan hasil kueri ke dalam tabel. Ada beberapa pendekatan yang dapat Anda ambil dengan ini.
- Gunakan
INSERT INTO... SELECT
penyataan. Dalam hal ini, Anda harus membuat tabel terlebih dahulu, sebelum memasukkan kumpulan hasil kueri ke dalamnya. - Gunakan Pernyataan CREATE TABLE … AS SELECT. Metode ini secara otomatis membuat tabel baru berdasarkan kumpulan hasil kueri, lalu menyisipkan hasil tersebut ke dalam tabel. Meskipun metode ini sesuai dengan standar SQL, metode ini tidak didukung oleh semua DBMS.
- Gunakan
SELECT INTO
penyataan. Ini mirip dengan opsi sebelumnya. Secara otomatis membuat tabel baru berdasarkan kumpulan hasil kueri, lalu menyisipkan hasil tersebut ke dalam tabel. Jika metode sebelumnya (CREATE TABLE ... AS SELECT
) tidak didukung oleh DBMS Anda, coba metode ini.