Untuk Memasukkan atau menambahkan data baru ke dalam tabel, gunakan perintah CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 5 diikuti oleh beberapa nilai dan ekspresi lainnya. Kita akan belajar bersama bagaimana cara menginput data dalam database SQL (khususnya MariaDB). Tutorial ini tidak hanya untuk MariaDB tetapi juga berlaku untuk MySQL. Jadi, meskipun database sistem Anda masih menggunakan MySQL, Anda tetap bisa mengikuti panduan di bawah ini
Sintaksis
MariaDB
Sintaksis
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_list)] [(col,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col=expr [, col=expr] ... ] _
Penjelasan
Dalam database, kegiatan penambahan data baru akan sering dilakukan karena database tanpa data (isi) tidak ada artinya. Untuk menambahkan (input) data kita akan selalu bertemu dengan perintah CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 6. Penambahan CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 _7, hanya bersifat opsional, meskipun kita lupa menuliskannya, perintah tetap akan dijalankan. Tapi, selalu disarankan untuk menulis kata CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 7 setelah CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 6 Jadi persis INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); 0
Penting. Agar dapat mengikuti tutorial ini, silahkan buat terlebih dahulu tabel dengan menjalankan perintah berikut
MariaDB
CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1
Contoh Memasukkan/Menambahkan Data Baru
Berikut adalah beberapa contoh penggunaan CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 6 untuk menambahkan data ke database
Contoh Input Data Hanya Satu (Row)
MariaDB
INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); _
id, name, date_of-birth adalah contoh nama kolom. Jika kita tidak menyebutkan nama kolom seperti pada contoh di bawah ini, maka semua data (VALUE) untuk setiap kolom harus ditulis (disebutkan) sesuai dengan urutan semua kolom pada tabel.
MariaDB
INSERT INTO guru VALUE(NULL, 'Jaka Tingkir', '1987-02-21');
Pada contoh di atas, kami tidak menyebutkan secara spesifik kolom apa yang ingin saya tulis (diisi dengan konten). Jadi, kita harus menulis semua Nilai dari kolom di tabel
Pada contoh selanjutnya, kita bisa menentukan lebih spesifik kolom apa yang ingin kita isi datanya dengan menyebutkan nama kolom di dalam tanda kurung setelah nama tabel.
Contoh Input Data lebih dari Satu (Baris)
MariaDB
INSERT INTO namatabel (kolom1, kolom2) VALUES ('konten untuk kolom1', 'konten untuk kolom2'), ('konten kedua untuk kolom1', 'konten kedua untuk kolom2')
Tolong dicatat. Pada contoh di atas, itu hanyalah contoh sintaks. Padahal, isi harus diisi sesuai dengan tipe data yang digunakan pada masing-masing kolom. Untuk input data lebih dari satu (baris) gunakan pemisah koma (,) setelah tanda kurung, yang menunjukkan bahwa setiap tanda kurung adalah satu baris data
Contoh ini tidak jauh berbeda dengan contoh pertama, hanya disini kita menginput lebih dari satu data (baris) dipisahkan dengan tanda koma (,) dan mengganti kata VALUE dengan VALUES (jamak)
MASUKKAN KE DALAM. MENGATUR
Memasukkan Data Baru dengan Klausa SET
MariaDB
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_list)] SET col={expr | DEFAULT}, ... [ ON DUPLICATE KEY UPDATE col=expr [, col=expr] ... ]
Menggunakan tambahan INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); _2, pada dasarnya sama seperti kita menggunakan perintah INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); 3 yang digunakan untuk memperbaharui (update) data. Disini kita mengatur kolom = diikuti dengan data yang ingin kita masukan
Contohnya adalah sebagai berikut
MariaDB
INSERT INTO guru SET nama = 'Budi', tgl_lahir = '1982-02-11';
MASUKKAN KE DALAM. PILIH
Memasukkan Data Baru dengan Klausa SELECT
MariaDB
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_list)] [(col,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col=expr [, col=expr] ... ]
Perintah INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); 4 digunakan untuk memilih tabel lain. Artinya, kita bisa memasukkan (input) data dari Tabel lain. Hal ini dapat menghemat waktu kita sehingga kita tidak perlu menginput ulang data. Perlu diperhatikan bahwa tipe data yang digunakan juga harus sesuai dengan kolom di antara kedua tabel
Pada contoh di bawah ini, saya memiliki dua tabel (guru dan staf). Tabel guru sebelumnya sudah dibuat dan berisi data. Meja staff masih kosong lalu saya isi datanya dengan cara copy dari meja guru
Pertama-tama, silakan jalankan perintah berikut
MariaDB
CREATE TABLE staf LIKE guru;
Perintah di atas digunakan untuk membuat tabel staf baru dengan format (termasuk definisi dan tipe data) yang sama dengan tabel guru. Selanjutnya saya isi datanya dengan cara copy dari tabel guru yang kolom id=1 nya
MariaDB
INSERT INTO staf SELECT * FROM guru WHERE id = 1;
MUAT INFILE DATA
Menambahkan Data dari File
INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); _5 adalah perintah yang digunakan untuk memasukkan data dari file terpisah. Agar file dapat dibaca dan dimasukkan ke dalam database SQL, harus memiliki format yang sesuai
Pada contoh di bawah ini, saya membuat file dengan notepad (editor teks) dan saya menyimpannya dalam format INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); 6 lalu saya menyimpannya di drive INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); 7 (root). Saya menamai file tersebut INSERT INTO guru (id, nama, tgl_lahir) VALUE(1, 'Sulaiman', '1987-02-21'); _8 dan saya mengisinya dengan data sebagai berikut
guru data. txt
CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 0
Data diatas sepertinya terbagi menjadi 3 kolom (id, nama, tanggal lahir). Di editor teks (atau Notepad) setiap kolom dipisahkan dengan menekan tab pada keyboard. Setiap baris, diakhiri dengan Enter
Untuk mengimpor (memasukkan) data dari file ke database, saya menjalankan perintah berikut
MariaDB
CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 _1
Hasilnya terlihat seperti ini
MariaDB
CREATE TABLE `guru` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `tgl_lahir` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 _2
Kemudian, saya melihat hasilnya untuk melihat apakah data tersebut benar-benar dimasukkan ke dalam database, dengan menjalankan perintah berikut