Masukkan nilai. SQL query INSERT INTO - isi database dengan informasi. SQL INSERT INTO SELECT, Sintaks

21.05.2020 Pemulihan data

Menggunakan SQL, Anda dapat menyalin informasi dari satu tabel ke tabel lainnya.

Pernyataan INSERT INTO SELECT menyalin data dari satu tabel dan memasukkannya ke dalam tabel yang ada.

SQL INSERT INTO SELECT,

Pernyataan INSERT INTO SELECT memilih data dari satu tabel dan memasukkannya ke dalam tabel yang ada. Setiap baris yang ada di tabel target tidak diubah.

SQL INSERT INTO SELECT, Sintaks

Kita dapat menyalin semua kolom dari satu tabel ke tabel lain yang ada:

MASUKKAN KE DALAM Meja 2
PILIH * DARI Tabel 1;

Atau kita hanya bisa menyalin kolom yang kita inginkan ke tabel lain yang sudah ada:

MASUKKAN KE DALAM Meja 2
(nama_kolom)
PILIH kolom_nama(s)
DARI Tabel 1;

Basis data demo

Dalam tutorial ini, kita akan menggunakan database Northwind yang terkenal.

Di bawah ini adalah pilihan dari tabel "Pelanggan":

identitas penggunaNama KlienOrang yang dapat dihubungiAlamatkota Kode Pos Negara
1 Alfred Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Jerman
2 Ana Trujillo Emparedados dan helados Ana Trujillo Avda. de la Konstitusi 2222 Meksiko D.F. 05021 Meksiko
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Meksiko D.F. 05023 Meksiko

Dan pilihan dari tabel "Pemasok":

SQL INSERT INTO SELECT, Contoh

Menyalin hanya beberapa kolom dari "Pemasok" Ke "Pelanggan" :

Salin hanya pemasok Jerman di "Pelanggan" .

Pernyataan ini menambahkan satu atau beberapa catatan ke tabel (melakukan kueri tambah).

Sintaksis

Permintaan untuk menambahkan beberapa entri:

MASUKKAN KE DALAM target_objek [(bidang1[, bidang2[, ...]])]
PILIH[ sumber.]bidang1[, bidang2[, ...]
DARI tabel_ekspresi

Permintaan untuk menambahkan satu entri:

MASUKKAN KE DALAM target_objek [(bidang1[, bidang2[, ...]])]
NILAI ( bidang1[, bidang2[, ...])

Pernyataan INSERT INTO terdiri dari elemen-elemen berikut:

Bagian

Keterangan

target_objek

Nama tabel atau kueri tempat rekaman ditambahkan.

bidang1, bidang2

Setelah argumen target_objek- nama bidang tempat data ditambahkan; setelah argumen sumber- nama bidang dari mana data diambil.

database_eksternal

Jalan ke dasar eksternal data. Untuk deskripsi jalur, lihat artikel di klausa IN.

sumber

Nama tabel atau kueri tempat rekaman disalin.

tabel_ekspresi

Satu atau beberapa nama tabel untuk mengambil rekaman. Argumen ini bisa berupa nama tabel tunggal, hasil ekspresi INNER JOIN, LEFT JOIN, atau RIGHT JOIN, atau kueri yang disimpan.

nilai1, nilai2

Nilai yang akan ditambahkan ke bidang tertentu dalam catatan baru. Setiap nilai dimasukkan ke dalam bidang yang sesuai dengan posisinya dalam daftar: nilai1 ditambahkan ke bidang1 rekor baru, nilai2- di bidang2 dll. Anda harus memisahkan nilai dengan koma dan melampirkan bidang teks dalam tanda petik ("").

Catatan

Pernyataan INSERT INTO dapat menambahkan satu record ke tabel menggunakan sintaks di atas. Dalam hal ini, nama dan nilai ditentukan untuk setiap bidang catatan. Anda harus menentukan semua bidang catatan yang nilainya ditetapkan dan nilainya yang sesuai. Jika Anda tidak menentukan nilai bidang, itu akan diberi nilai default atau NULL. Catatan ditambahkan ke akhir tabel.

Anda juga dapat menggunakan pernyataan INSERT INTO untuk menambahkan satu set rekaman dari tabel atau kueri lain menggunakan klausa SELECT... FROM, seperti yang ditunjukkan di atas (lihat Sintaks Kueri Beberapa Rekaman). Dalam hal ini, klausa SELECT menentukan bidang untuk ditambahkan ke yang ditentukan target_objek.

Sumber atau target_objek bisa berupa tabel atau query. Saat kueri diberikan, mesin database Microsoft Access menambahkan catatan ke semua tabel yang dikembalikannya.

Penggunaan pernyataan INSERT INTO adalah opsional. Jika ada, itu harus mendahului pernyataan SELECT.

Jika tabel target berisi kunci utama, pastikan nilai yang ditambahkan ke satu atau beberapa bidang kunci utama unik dan berbeda dari BATAL; jika tidak, tidak ada entri yang akan ditambahkan.

Jika rekaman ditambahkan ke tabel dengan bidang Hitung dan Anda ingin memberi nomor ulang, jangan sertakan bidang Hitung dalam kueri. Sertakan bidang "Penghitung" dalam kueri jika Anda ingin menyimpan nilai asli dari bidang tersebut.

Anda dapat menambahkan catatan ke tabel di database lain menggunakan klausa IN.

Untuk membuat tabel, gunakan pernyataan SELECT... INTO untuk mendapatkan kueri untuk membuat tabel.

Sebelum menjalankan kueri penambahan, gunakan kueri pemilihan dengan kriteria pemilihan yang sama untuk menentukan rekaman mana yang akan ditambahkan berdasarkan hasil.

Kueri penambahan menyalin rekaman dari satu atau beberapa tabel ke tabel lain. Pada saat yang sama, tabel yang berisi catatan tambahan tetap tidak berubah.

Alih-alih menambahkan catatan dari tabel lain, Anda dapat mengatur nilai setiap bidang dalam catatan baru yang terpisah menggunakan klausa VALUES. Jika daftar bidang dihilangkan, klausa VALUES harus menyertakan nilai yang sesuai untuk setiap bidang dalam tabel; jika tidak, operasi INSERT akan gagal. Gunakan pernyataan INSERT INTO bersama dengan klausa VALUES untuk setiap record tambahan yang ingin Anda buat.

Tim menambahkan baris ke tabel atau tampilan tabel utama.

Sintaks Perintah INSERT Sql

Masukkan Sintaks Perintah


Kata kunci dan parameter dasar dari perintah INSERT
  • skema- pengenal otoritas, biasanya sama dengan nama beberapa pengguna
  • tampilan meja- nama tabel tempat baris akan disisipkan; jika tampilan ditentukan, maka baris dimasukkan ke dalam tabel utama tampilan
  • subkueri_1- subpermintaan yang diproses server dengan cara yang sama seperti tampilan
  • kolom- kolom tabel atau tampilan di mana, untuk setiap baris yang disisipkan, nilai dari frasa dimasukkan NILAI atau subkueri; jika salah satu kolom tabel dihilangkan dari daftar ini, nilai kolom untuk baris yang disisipkan adalah nilai default kolom yang ditentukan saat tabel dibuat. Jika daftar kolom benar-benar dihilangkan, klausa NILAI atau kueri harus menentukan nilai untuk semua kolom dalam tabel
  • NILAI- mendefinisikan string nilai yang akan dimasukkan ke dalam tabel atau tampilan; makna harus didefinisikan dalam kalimat NILAI untuk setiap kolom dalam daftar kolom
  • subkueri_2- subquery yang mengembalikan baris yang dimasukkan ke dalam tabel; daftar pilih dari subkueri ini harus memiliki jumlah kolom yang sama dengan daftar kolom dalam pernyataan

Penyataan dengan kalimat NILAI menambahkan satu baris ke tabel. String ini berisi nilai-nilai yang ditentukan oleh frasa NILAI.
Persetujuan dengan subkueri alih-alih frasa NILAI menambahkan ke tabel semua baris yang dikembalikan oleh subquery. Server sedang memproses subkueri dan menyisipkan setiap baris yang dikembalikan ke dalam tabel. Jika subquery tidak memilih baris apa pun, server tidak memasukkan baris apa pun ke dalam tabel.
Subkueri dapat merujuk ke tabel atau tampilan apa pun, termasuk tabel target pernyataan . Server memberikan nilai ke bidang di baris baru berdasarkan posisi internal kolom dalam tabel dan urutan nilai frasa NILAI atau dalam daftar pilihan kueri. Jika ada kolom yang hilang dari daftar kolom, server memberi mereka nilai default yang ditentukan saat tabel dibuat. Jika salah satu kolom ini memiliki batasan NOT NULL, maka server mengembalikan kesalahan yang menunjukkan bahwa batasan telah dilanggar dan membatalkan pernyataan INSERT.
Saat pernyataan INSERT dikeluarkan, pemicu INSERT apa pun yang ditentukan pada tabel akan disertakan.

MASUKKAN KE Contoh 1

MASUKKAN KE DALAM departemen NILAI(50, PRODUK, SAN FRANCISCO);

MASUKKAN KE DALAM Pelanggan (kota, cname, cnum) NILAI('London', 'Hoffman', 2001);

MASUKKAN KE Contoh 2
Perintah berikut menyalin data karyawan perusahaan yang komisinya melebihi 25% dari pendapatan ke tabel bonus:

MASUKKAN KE DALAM bonus SELECT ename, job, sal, comm FROM emp WHERE comm > 0.25 * sal;

MASUKKAN KE Contoh 3
Jika Anda perlu memasukkan BATAL-value, Anda harus menentukannya sebagai nilai normal sebagai berikut:

MASUKKAN KE DALAM Penjual NILAI(1001,'Kupas',NULL,12);

MASUKKAN KE Contoh 4
Perintah dapat digunakan untuk mengambil nilai dari satu tabel dan menempatkannya di tabel lain menggunakan kueri. Untuk melakukan ini, cukup dengan mengganti kalimat NILAI untuk permintaan yang relevan:

MASUKKAN KE DALAM Londonstaff SELECT * FROM Penjual WHERE city = 'London';

MySQL INSERT

Untuk menyisipkan baris baru ke dalam database data MySQL digunakan perintah INSERT, contoh perintah diberikan di bawah ini:
MASUKKAN KE Contoh 1.
Memasukkan garis baru ke tabel table_name.

MASUKKAN KE DALAM

MASUKKAN KE Contoh 2.
Menyisipkan baris baru di tabel table_name menunjukkan penyisipan data ke dalam kolom yang kita butuhkan.

MASUKKAN KE DALAM table_name VALUES('1','165','0','nama');

Dalam database MySQL dimungkinkan untuk menyisipkan beberapa baris baru menggunakan satu perintah.
MASUKKAN KE Contoh 3.
Masukkan beberapa baris ke dalam tabel table_name.

MASUKKAN KE DALAM table_name (tbl_id, chislo, chislotwo, nama) VALUES ('1','159','34','name1'), ('2','14','61','name2'), ('3 ','356','8','nama3');

Apa itu INSERT INTO?

Tujuan utama dari sistem database adalah untuk menyimpan data dalam tabel. Data biasanya disediakan oleh program aplikasi yang berjalan di atas database. Untuk itu, SQL memiliki perintah INSERT yang digunakan untuk menyimpan data ke dalam tabel. Itu Perintah INSERT membuat baris baru dalam tabel untuk menyimpan data.

Sintaks dasar

Mari kita lihat sintaks dasar dari perintah SQL INSERT yang ditunjukkan di bawah ini.

INSERT INTO `table_name`(column_1,column_2,...) NILAI (nilai_1,nilai_2,...);

  • MASUKKAN KE `nama_tabel` adalah perintah yang memberitahu server MySQL untuk menambahkan baris baru ke dalam tabel bernama `table_name`.
  • (kolom_1,kolom_2,...) menentukan kolom yang akan diperbarui di baris baru
  • NILAI (nilai_1,nilai_2,...) menentukan nilai yang akan ditambahkan ke baris baru

Saat memasok nilai data yang akan dimasukkan ke dalam tabel baru, berikut ini harus dipertimbangkan saat menangani tipe data yang berbeda.

  • Tipe data string- semua nilai string harus diapit dalam tanda kutip tunggal.
  • Tipe data numerik- semua nilai numerik harus diberikan secara langsung tanpa menyertakannya dalam tanda kutip tunggal atau ganda.
  • Tipe data tanggal- lampirkan nilai tanggal dalam tanda kutip tunggal dalam format "YYYY-MM-DD".

Contoh:

Misalkan kita memiliki daftar anggota perpustakaan baru berikut yang perlu ditambahkan ke dalam database.

Nama lengkap Tanggal lahir jenis kelamin alamat fisik Alamat pos nomor kontak Alamat email
Leonard Hofstadter Pria jambul kayu 0845738767
Sheldon Cooper Pria jambul kayu 0976736763
Rajesh Koothrappali Pria pandangan adil 0938867763
Leslie Winkle 14/02/1984 Pria 0987636553
Howard Wolowitz 24/08/1981 Pria Taman Selatan PO Kotak 4563 0987786553

Mari" MASUKKAN data satu per satu. Kita akan mulai dengan Leonard Hofstadter. Kita akan memperlakukan nomor kontak sebagai tipe data numerik dan tidak melampirkan nomor dalam tanda kutip tunggal.

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ("Leonard Hofstadter",,"Pria",,"Woodcrest",0845738767);

Menjalankan script di atas menghilangkan 0 dari nomor kontak Leonard, karena nilainya akan diperlakukan sebagai nilai numerik dan nol (0) di awal dihilangkan karena tidak signifikan.

Untuk menghindari masalah seperti itu, nilai harus diapit dalam tanda kutip tunggal seperti yang ditunjukkan di bawah ini -

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ("Sheldon Cooper",,"Male",,"Woodcrest", "0976736763");

Dalam kasus di atas , nol(0) tidak akan dijatuhkan

Mengubah urutan kolom tidak berpengaruh pada kueri INSERT selama nilai yang benar telah dipetakan ke kolom yang benar.

Kueri yang ditunjukkan di bawah ini menunjukkan poin di atas.

INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`)VALUES ("0938867763",,"Male",,"Rajesh Koothrappali",,"Woodcrest");

Kueri di atas melewatkan kolom tanggal lahir, secara default MySQL akan memasukkan nilai NULL pada kolom yang dilewati pada query INSERT.

Sekarang mari kita masukkan catatan untuk Leslie yang memiliki tanggal lahir yang disertakan. Nilai tanggal harus diapit dalam tanda kutip tunggal menggunakan format "YYYY-MM-DD".

INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) NILAI ("Leslie Winkle",,"1984-02-14",,"Pria",,"Woodcrest", " 0987636553");

Semua kueri di atas menentukan kolom dan memetakannya ke nilai dalam pernyataan sisipan. Jika kami memberikan nilai untuk SEMUA kolom dalam tabel, maka kami dapat menghilangkan kolom dari kueri penyisipan.

INSERT INTO `members` VALUES (9,"Howard Wolowitz", "Male", "1981-08-24", "SouthPark", "PO Box 4563", "0987786553", "lwolowitzemail.me");

Mari sekarang gunakan pernyataan SELECT untuk melihat semua baris dalam tabel anggota. SELECT * FROM `members`;

Nomor keanggotaannama lengkapjenis kelamintanggal lahiralamat fisikalamat_posnomor_kontaksurel
1 Janet JonesPerempuan21-07-1980 Plot Jalan Pertama No 4Tas Pribadi0759 253 542 Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
2 Janet Smith JonesPerempuan23-06-1980 Melrose 123BATALBATALAlamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
3 Robert PhilPria12-07-1989 3rd Street 34BATAL12345 Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
4 Gloria WilliamsPerempuan14-02-1984 Jalan 2 23BATALBATALBATAL
5 Leonard HofstadterPriaBATALjambul kayuBATAL845738767 BATAL
6 Sheldon CooperPriaBATALjambul kayuBATAL976736763 BATAL
7 Rajesh KoothrappaliPriaBATALjambul kayuBATAL938867763 BATAL
8 Leslie WinklePria14-02-1984 jambul kayuBATAL987636553 BATAL
9 Howard WolowitzPria24-08-1981 Taman SelatanPO Kotak 4563987786553 Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.

Perhatikan nomor kontak untuk Leonard Hofstadter telah menjatuhkan nol (0) dari nomor kontak. Nomor kontak lainnya tidak menjatuhkan nol (0) di awal.

Memasukkan ke dalam Tabel dari Tabel lain

Perintah INSERT juga dapat digunakan untuk memasukkan data ke dalam tabel dari tabel lain. Sintaks dasarnya adalah seperti yang ditunjukkan di bawah ini.

INSERT INTO table_1 SELECT * FROM table_2;

Sekarang mari kita lihat contoh praktis, kita akan membuat tabel dummy untuk kategori film untuk tujuan demonstrasi. Kita akan memanggil tabel kategori baru arsip kategori. Skrip yang ditunjukkan di bawah ini membuat tabel.

CREATE TABLE `categories_archive` (`category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))

Jalankan skrip di atas untuk membuat tabel.

Mari sekarang masukkan semua baris dari tabel kategori ke dalam tabel arsip kategori. Skrip yang ditunjukkan di bawah ini membantu kita mencapainya.

INSERT INTO `categories_archive` SELECT * FROM `categories`;

Menjalankan skrip di atas menyisipkan semua baris dari tabel kategori ke dalam tabel arsip kategori. Perhatikan bahwa struktur tabel harus sama agar skrip berfungsi. Skrip yang lebih kuat adalah skrip yang memetakan nama kolom di tabel sisipan ke yang ada di tabel yang berisi data.

Kueri yang ditunjukkan di bawah ini menunjukkan penggunaannya.

INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;

Menjalankan kueri SELECT

PILIH * DARI `kategori_arsip`

memberikan hasil berikut yang ditunjukkan di bawah ini.

kategori_idNama KategoriCatatan
1 KomediFilm dengan humor
2 Romantiscerita Cinta
3 epikcerita film kuno
4 KengerianBATAL
5 fiksi ilmiahBATAL
6 Cerita menegangkanBATAL
7 TindakanBATAL
8 komedi romantisBATAL
9 KartunBATAL
10 KartunBATAL

Ringkasan

  • Perintah INSERT digunakan untuk menambahkan data baru ke dalam tabel
  • Nilai tanggal dan string harus diapit dalam tanda kutip tunggal.
  • Nilai numerik tidak perlu diapit tanda kutip.
  • Perintah INSERT juga dapat digunakan untuk menyisipkan data dari satu tabel ke tabel lainnya.

Halo semua! Artikel ini akan membahas bagaimana Anda bisa tambahkan data ke tabel di Microsoft SQL Server, jika Anda setidaknya sudah sedikit akrab dengan bahasa T-SQL, maka Anda mungkin menyadari bahwa sekarang kita akan berbicara tentang pernyataan INSERT, serta bagaimana itu dapat digunakan untuk menambahkan data ke tabel.

Mari kita mulai dengan sedikit teori.

Pernyataan INSERT dalam T-SQL

MEMASUKKAN adalah instruksi T-SQL yang dirancang untuk menambahkan data ke tabel, mis. membuat entri baru. Instruksi ini dapat digunakan baik untuk menambahkan satu baris ke tabel, dan untuk sisipan massal data. Pernyataan INSERT memerlukan izin untuk memasukkan data ( MEMASUKKAN) ke tabel sasaran.

Ada beberapa cara untuk menggunakan pernyataan INSERT pada bagian data yang perlu dimasukkan:

  • Pencacahan nilai tertentu untuk dimasukkan;
  • Menentukan kumpulan data sebagai kueri SELECT;
  • Menentukan kumpulan data sebagai panggilan prosedur yang mengembalikan data tabular.

Sintaks yang disederhanakan

MASUKKAN [tabel] ( daftar kolom...) NILAI ( daftar nilai, … ) atau PILIH permintaan sampel Atau EKSEKUSI prosedur

  • INSERT INTO adalah perintah untuk menambahkan data ke tabel;
  • Tabel adalah nama tabel target tempat record baru akan dimasukkan;
  • Daftar kolom adalah daftar yang dipisahkan koma dari nama kolom tabel di mana data akan dimasukkan;
  • VALUES adalah konstruktor nilai tabel, yang dengannya kami menentukan nilai yang akan kami masukkan ke dalam tabel;
  • Daftar nilai adalah nilai yang akan disisipkan dipisahkan dengan koma. Mereka terdaftar dalam urutan kolom yang tercantum dalam daftar kolom;
  • SELECT adalah kueri untuk memilih data yang akan dimasukkan ke dalam tabel. Kumpulan hasil yang dikembalikan kueri harus cocok dengan daftar kolom;
  • EXECUTE adalah panggilan ke prosedur untuk mendapatkan data untuk dimasukkan ke dalam tabel. Kumpulan hasil yang dikembalikan oleh prosedur tersimpan harus sesuai dengan daftar kolom.

Seperti inilah sintaks yang disederhanakan dari pernyataan INSERT INTO, dalam banyak kasus ini adalah bagaimana Anda akan menambahkan catatan baru ke tabel.

Daftar kolom tempat Anda akan memasukkan data dapat dihilangkan, dalam hal ini urutannya akan ditentukan berdasarkan urutan kolom yang sebenarnya dalam tabel. Namun, Anda harus mengingat urutan ini saat Anda menentukan nilai untuk menyisipkan atau menulis kueri pemilihan. Secara pribadi, saya menyarankan Anda tetap menentukan daftar kolom di mana Anda berencana untuk menambahkan data.

Juga harus diingat bahwa dalam daftar kolom dan dalam daftar nilai, masing-masing, harus ada yang disebut kolom wajib, ini adalah yang tidak dapat berisi nilai NULL. Jika tidak ditentukan, dan kolom tidak memiliki nilai default, kesalahan akan terjadi.

Saya juga ingin mencatat bahwa tipe data nilai yang akan Anda masukkan harus cocok dengan tipe data kolom tempat nilai ini akan dimasukkan, atau setidaknya mendukung konversi implisit. Tapi saya menyarankan Anda untuk mengontrol tipe data ( format) nilai, baik dalam daftar nilai maupun dalam kueri SELECT.

Cukup teorinya, mari kita lanjutkan ke praktik.

Data awal

Untuk menambahkan data ke tabel, kita memerlukan tabel itu sendiri, masing-masing, mari kita buat, dan kita sudah akan mencoba menambahkan catatan ke dalamnya.

Catatan! Semua contoh akan dijalankan di Microsoft SQL Server 2016 Express.

BUAT TABEL TestTable( IDENTITY(1,1) NOT NULL, (100) NOT NULL, NOT NULL)

Tabel pengujian kami akan berisi daftar produk dengan harga.

Juga dalam contoh, kita akan menggunakan prosedur yang mengembalikan nilai tabel untuk menambahkan data ke tabel, jadi mari kita buat juga.

BUAT PROSEDUR TestProcedure AS MULAI PILIH ProductName, Harga DARI TestTable AKHIR

Misalnya, ini akan mengembalikan data dari tabel TestTable yang baru dibuat.

Catatan!

Seperti yang Anda pahami, membaca materi ini menyiratkan ketersediaan pengetahuan tertentu tentang T-SQL, jadi jika ada sesuatu yang tidak jelas bagi Anda, saya sarankan Anda membaca materi berikut:

Contoh 1 - Menambahkan Record Baru ke Tabel Menggunakan Table Value Builder

Pertama, mari kita coba tambahkan satu record dan langsung lihat hasilnya, mis. Mari kita menulis kueri untuk pilihan.

INSERT INTO TestTable(ProductName, Price) VALUES("Computer", 100) GO SELECT * FROM TestTable

Anda dapat melihat bahwa setelah nama tabel kami mencantumkan nama kolom yang akan kami tambahkan data, dipisahkan dengan koma, lalu kami menunjukkan kata kunci NILAI dan dalam tanda kurung juga, dalam urutan yang sama, dipisahkan dengan koma, kami menulis nilai yang ingin kami masukkan.

Setelah pernyataan INSERT, saya menulis pernyataan SELECT dan memisahkannya dengan perintah GO.

Sekarang mari kita bayangkan bahwa kita perlu menambahkan beberapa baris. Kami akan menulis kueri berikut untuk ini.

INSERT INTO TestTable(ProductName, Price) VALUES ("Computer", 100), ("Keyboard", 20), ("Monitor", 50) GO SELECT * FROM TestTable


Contoh 2 - Menambahkan baris baru ke tabel menggunakan kueri SELECT

Sangat sering ada kebutuhan untuk menambahkan banyak data ke tabel, misalnya, berdasarkan kueri pemilihan, mis. PILIH. Untuk melakukan ini, alih-alih VALUES, kita hanya perlu menentukan kueri.

INSERT INTO TestTable(ProductName, Price) SELECT ProductName, Price FROM TestTable WHERE Id >


PADA contoh ini kami menulis kueri SELECT yang mengembalikan data dari TestTable, tetapi tidak semua, tetapi hanya yang memiliki pengenal lebih besar dari 2. Dan hasilnya dimasukkan ke dalam TestTable yang sama.

Sebagai contoh bagaimana Anda bisa menambahkan catatan ke tabel tanpa menentukan daftar kolom, mari kita tulis kueri penyisipan lain yang melakukan hal yang sama seperti kueri di atas, hanya saja tidak mencantumkan kolom yang akan disisipkan.

INSERT INTO TestTable SELECT ProductName, Harga FROM TestTable WHERE Id > 2 GO SELECT * FROM TestTable


Dalam hal ini, kami yakin bahwa di TestTable kolom pertama adalah ProductName dan yang kedua adalah Harga, jadi kami dapat menulisnya seperti itu. Tetapi, sekali lagi, dalam praktiknya lebih baik menentukan daftar kolom.

Jika Anda perhatikan, saya tidak menentukan kolom Id di semua contoh, tetapi kami memilikinya, tidak ada kesalahan, karena kolom yang diberikan dengan properti IDENTITY, secara otomatis menghasilkan pengidentifikasi, jadi memasukkan data ke dalam kolom seperti itu tidak akan berfungsi.

Contoh 3 - Menambahkan Catatan Baru ke Tabel Menggunakan Prosedur Tersimpan

Sekarang mari kita masukkan data ke dalam tabel yang akan dikembalikan oleh stored procedure kepada kita. Arti di sini adalah sama, alih-alih VALUES dan alih-alih kueri, kami menetapkan panggilan prosedur. Tetapi seperti yang Anda pahami, urutan dan jumlah kolom yang dikembalikan oleh prosedur harus benar-benar cocok dengan daftar kolom yang akan disisipkan ( bahkan jika daftar kolom tidak ditentukan).

INSERT INTO TestTable(ProductName, Price) EXEC TestProcedure GO SELECT * FROM TestTable


Saya harap materi ini membantu Anda memahami instruksi. MASUKKAN KE DALAM, dan saya memiliki segalanya untuk saat ini!