Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Pada artikel saya sebelumnya, Belajar MySQL. Sortasi dan Filtering data dalam sebuah tabel, kita telah mempelajari tentang sortasi dan filtering data menggunakan klausa WHERE dan ORDER BY

Pernyataan sisipkan adalah pernyataan DML (Bahasa modifikasi data) yang digunakan untuk memasukkan data ke dalam tabel MySQL. Dengan menggunakan kueri Sisipkan, kita dapat menambahkan satu atau beberapa baris dalam tabel. Berikut ini adalah sintaks dasar Pernyataan INSERT MySQL

1

2

MASUKKAN KE DALAM <TABLENAME>(COLUMN_1, COLUMN_2,.. )

NILAI (VALUE_1,VALUE_2,.. )

Dalam sintaksis,

  1. Pertama, Anda harus menentukan nama tabel. Setelah itu, dalam tanda kurung, Anda harus menentukan nama kolom tabel, dan kolom harus dipisahkan dengan koma
  2. Nilai yang ingin Anda sisipkan harus berada di dalam tanda kurung, dan harus diikuti oleh klausa VALUES

Jika Anda ingin menyisipkan lebih dari satu baris sekaligus, sintaksnya sedikit berbeda. Dalam kata kunci nilai, Anda harus menentukan daftar baris yang dipisahkan koma. Di sini, setiap elemen dianggap sebagai satu baris. Semua baris harus dipisahkan koma. Berikut ini adalah sintaksnya

1

2

3

4

5

MASUKKAN KE DALAM <TABLENAME>(COLUMN_1, COLUMN_2,.. )

NILAI

(VALUE_1,VALUE_2,.. ),

(VALUE_3,VALUE_4,.. ),

(VALUE_5,VALUE_6,.. )  

  • Catatan. Di sini, pastikan jumlah kolom harus sesuai dengan jumlah nilai. Anda dapat mengecualikan kolom identitas tabel, atau batasan default ditentukan pada salah satu kolom tabel. Dalam artikel mendatang, saya akan menjelaskan batasan default dan kolom identitas

Untuk mendemonstrasikan penggunaan Pernyataan INSERT, saya telah membuat tabel bernama tbleemployees di database VSData. Di bawah ini adalah definisi tabel tbleemployees

1

2

3

4

5

6

7

8

9

10

buat tabel tblEmployee

(

Employee_id int auto_increment kunci utama,

Nama_pertama_karyawan varchar(500) NOT null,

Employee_last_name varchar(500) NOT null,

Alamat_Karyawan varchar(1000),

Employee_emailID varchar(500),

ID_departemen_karyawan int default 9,

Tanggal_Bergabung_Karyawan tanggal

);

Izinkan saya menunjukkan berbagai kasus penggunaan kueri penyisipan. Pada artikel ini, saya akan membahas yang berikut ini

  1. Pernyataan INSERT sederhana untuk menambahkan data ke tabel
  2. Gunakan Pernyataan INSERT untuk menambahkan beberapa baris dalam tabel
  3. klausa INSERT INTO SELECT untuk menyisipkan output yang dihasilkan oleh kueri SELECT
  4. klausa INSERT IGNORE untuk mengabaikan kesalahan yang dihasilkan selama eksekusi kueri

Contoh kueri INSERT sederhana

Misalkan saya ingin memasukkan nama depan dan nama belakang karyawan. Jalankan kueri berikut

1

MASUKKAN KELUAR tblekaryawan (nama_pertama_karyawan, employee_last_name) values ('Nisarg','Upadhyay')

Setelah kueri berhasil dijalankan, mari kita jalankan kueri SELECT untuk memverifikasi data. Jalankan kueri berikut

1

pilih * dari tblKaryawan;

Berikut screenshot dari outputnya

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Seperti yang Anda lihat pada tangkapan layar di atas dari output, baris telah berhasil dimasukkan, dan nilai kolom yang sesuai juga dimasukkan dengan benar. Dalam kueri INSERT, saya telah menentukan nilai kolom first_name dan last_name, tetapi kami telah menetapkan nilai default dari kolom department_id, jadi jika kami tidak menentukan nilai kolom, nilai default akan disisipkan. Kolom employee_id adalah auto_increment sehingga akan bertambah secara otomatis

Masukkan tanggal dalam tabel

Misalkan Anda ingin memasukkan tanggal bergabung tertentu untuk seorang karyawan. Tanggal bergabung akan disisipkan di kolom employee_joining_date. Permintaan harus ditulis sebagai berikut

1

MASUKKAN KELUAR tblekaryawan (nama_pertama_karyawan, employee_last_name, employee_joining_date) values ('Nisarg','Upadhyay','2020-06-26');

Jalankan kueri pemilihan untuk memverifikasi keluaran

1

PILIH * dari karyawan

Keluaran

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Seperti yang Anda lihat, tanggal bergabung dimasukkan dengan benar. Sekarang daripada menentukan tanggal bergabung, kami ingin menggunakan tanggal saat ini. Dalam skenario ini, kita dapat menggunakan fungsi bawaan bernama CURRENT_DATE(). Fungsi ini mendapatkan tanggal server. Ini seperti fungsi getdate() dari SQL Server

Permintaan harus ditulis sebagai berikut

1

MASUKKAN KELUAR tblekaryawan (nama_pertama_karyawan, employee_last_name, employee_joining_date) values ('Nirali','Upadhyay',current_date());

Jalankan kueri SELECT

1

PILIH * dari karyawan;

Di bawah ini adalah outputnya

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Seperti yang Anda lihat, tanggal bergabung dari ID karyawan adalah tanggal saat ini

Sisipkan beberapa baris dalam tabel

Kami ingin memasukkan detail dari dua karyawan di tabel tbleemployee. Untuk melakukannya, jalankan kueri berikut

1

MASUKKAN KELUAR tblekaryawan (nama_pertama_karyawan, employee_last_name, employee_joining_date) values ('Dixit','Upadhyay',current_date()),('Bharti','Upadhyay',current_date())  ;

Setelah baris disisipkan, jalankan pernyataan SELECT untuk memverifikasi output

1

Pilih * dari karyawan;

Berikut ini adalah outputnya

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

  • Catatan. Di MySQL, ada parameter konfigurasi bernama max_allowed_packat_size untuk membatasi ukuran paket. Ukuran paket maksimum di MySQL 8. 0 server dan klien adalah 1GB

Jika Anda memasukkan beberapa baris dan ukuran kueri INSERT lebih tinggi dari nilai yang dikonfigurasi dalam max_allowed_packat_size, kueri akan memberikan kesalahan ER_NET_PACKET_TOO_LARGE dan menutup sambungan. Anda dapat melihat nilai parameter dengan menjalankan perintah berikut

1

TAMPILKAN VARIABEL SEPERTI 'max_allowed_packet';

Keluaran

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Nilai parameter konfigurasi dapat diubah dengan menjalankan perintah berikut

1

SET GLOBAL max_allowed_packet=ukuran_yang diinginkan;

INSERT INTO SELECT Query

Misalkan kita ingin menyisipkan himpunan hasil yang dihasilkan oleh kueri SELECT lain ke dalam tabel, kita dapat menggunakan Query INSERT INTO SELECT. Sintaksnya adalah sebagai berikut

1

2

3

4

5

6

7

MASUKKAN KE DALAM nama_tabel_tujuan(kolom_1, column_2)

PILIH

   kolom_1,kolom_2

DARI

   tabel_sumber

DI MANA

   kondisi;

Seperti yang Anda lihat di sintaks, alih-alih menggunakan klausa VALUES, kami menggunakan kueri SELECT. Di sini pernyataan SELECT mengambil data dari tabel lain atau dengan menggabungkan tabel yang berbeda. Kueri ini sangat membantu saat Anda ingin membuat cadangan tabel tertentu

Untuk mendemonstrasikan skenario, saya akan menggunakan tabel aktor dari database sakila. Saya telah membuat tabel lain bernama actor_backup. Struktur tabel dari aktor_backup tabel dan aktor adalah sama. Satu-satunya perubahan yang saya buat adalah saya telah menghilangkan kunci asing dan batasan lain dari tabel actor_backup

Tabel dapat dibuat dengan menjalankan kueri berikut

1

2

3

4

5

BUAT TABEL actor_backup (

    actor_id kecil ,

    nama_depan varchar(45) NOT NULL,

    nama_belakang varchar(45) NOT NULL,

    last_update stempel waktu BUKAN NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

Sekarang, untuk memasukkan data dari tabel aktor ke tabel aktor_backup, jalankan kueri berikut

1

masukkan ke dalam actor_backup pilih actor_id,first_name,last_name,last_update from actor;

Jalankan kueri SELECT berikut untuk memverifikasi bahwa data telah berhasil dimasukkan

1

Pilih * dari actor_backup;

Keluaran

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

INSERT IGNORE pernyataan

INSERT IGNORE adalah kata kunci yang sangat menarik. Saat kami menyisipkan beberapa catatan dalam pernyataan using INSERT atau kata kunci INSERT INTO SELECT, dan terkadang kueri INSERT gagal karena kesalahan, seluruh kueri INSERT dihentikan. Misalkan kita memasukkan ribuan catatan dalam sebuah tabel, dan karena kesalahan, seluruh kueri INSERT gagal dan kita harus menjalankan ulang seluruh kueri. Untuk menghindari masalah seperti itu, kita dapat menggunakan pernyataan INSERT IGNORE

Jika Anda menggunakan pernyataan INSERT IGNORE untuk menyisipkan data dalam tabel, meskipun kueri mengalami kesalahan, kueri INSERT tidak akan gagal

Untuk menunjukkan, saya telah membuat tabel bernama tbldepartment. Berikut ini adalah definisi tabel

1

2

3

4

5

buat tabel tbldepartment

(

department_id varchar(10) primary key,

nama_departemen varchar(500)

)

Di sini, kolom Department_ID adalah kunci utama sehingga Anda tidak dapat memasukkan nilai duplikat di dalamnya. Sekarang, mari masukkan beberapa baris dengan menjalankan kueri berikut

1

2

masukkan abaikan ke dalam tbldepartment (department_id, department_name) values

('DEP00001', 'IT'),('DEP00001', 'Sales'),('DEP00002', 'MARKETING');

Saat Anda memasukkan catatan, Anda akan menerima peringatan berikut

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Di sini, kami menggunakan pernyataan INSERT IGNORE; . Untuk memverifikasi itu, jalankan kueri SELECT berikut

1

Pilih * dari tbldepartment;

Di bawah ini adalah outputnya

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Seperti yang Anda lihat, alih-alih tiga nilai, hanya DEP00001 dan DEP00002 yang dimasukkan

Ketika kita menggunakan kata kunci INSERT INTO IGNORE, MySQL akan mengeluarkan peringatan, tetapi akan mencoba menyesuaikan nilai di kolom. Untuk memahaminya, sisipkan baris lain di tabel tbldepartment. Panjang kolom id_departemen adalah 10 karakter. Di tabel, mari kita coba masukkan department_id. Panjang nilai lebih tinggi dari panjang yang ditentukan. Jalankan kueri berikut

1

masukkan abaikan ke dalam tbldepartment(department_id, department_name)values('DEP000000001', 'Human Resource');

Kueri akan memberikan peringatan berikut

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Seperti yang Anda lihat, kueri menghasilkan peringatan. Sekarang, jalankan kueri SELECT untuk melihat data

1

Pilih * dari tbldepartment;

Di bawah ini adalah outputnya

Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?
Bagaimana Anda memasukkan data dari satu tabel database ke tabel database lain di server mysql?

Seperti yang Anda lihat, baris tersebut telah dimasukkan, tetapi MySQL telah memangkas nilai kolom department_id

Ringkasan

Pada artikel ini, kita telah mempelajari bagaimana kita dapat menyisipkan satu atau lebih dari satu baris dalam tabel MySQL menggunakan pernyataan INSERT. Kami juga membahas bagaimana kami dapat menyisipkan kumpulan hasil, yang dihasilkan oleh kueri lain dalam tabel. Selain itu, kami belajar cara mengabaikan kesalahan yang dihasilkan oleh pernyataan INSERT. Pada artikel selanjutnya, kita akan belajar tentang pernyataan MySQL UPDATE dan DELETE dan kasus penggunaannya. Tetap disini

Bagaimana cara memasukkan data dari satu tabel database server ke tabel database server lain di MySQL?

Jika kita ingin menyalin tabel atau database dari satu server MySQL ke yang lain, maka gunakan mysqldump dengan nama database dan nama tabel . Jalankan perintah berikut di host sumber. Ini akan membuang database lengkap ke dump.

Bagaimana cara mentransfer data dari satu tabel ke tabel lain di MySQL?

salin data lengkap .
buat tabel destination_table seperti source_table
masukkan ke destination_table pilih * dari source_table
masukkan ke destination_table pilih * dari source_table mana city='New York'
masukkan ke destination_table_new (address,city,pincode) pilih alamat,kota,pincode dari source_table;

Bagaimana cara memasukkan data dari tabel lain di MySQL?

Pernyataan SELECT menyediakan cara mudah untuk menyisipkan baris ke dalam tabel dari tabel lain. Jika Anda ingin menyalin data dari satu tabel ke tabel lainnya dalam database yang sama, gunakan pernyataan INSERT INTO SELECT di MySQL.

Bagaimana cara menyalin data dari satu tabel database ke tabel database lain di SQL Server?

Hubungkan instance SQL Server, Buka Object Explorer dan pilih database. Klik kanan database, pilih Tasks, lalu klik Generate Scripts, Klik “Next”. Pada halaman Choose Object, pilih opsi Script seluruh database dan semua objek database atau Select specific database objects dan Klik Next