Untuk Memasukkan atau menambah data baru dalam sebuah 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 beberapa nilai dan ekspresi lainnya. Kita akan belajar bersama bagaimana input data dalam database SQL [MariaDB khususnya]. Tutorial ini tidak hanya untuk MariaDB saja tapi juga berlaku untuk MySQL. Jadi, meskipun database sistem Anda masih menggunakan MySQL Anda masih bisa mengikuti panduan di bawah ini:Syntax
MariaDB
Syntax
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 sebuah database, kegiatan menambahkan data baru akan sering dilakukan karena database tanpa data [konten] tidaklah berarti. Untuk menambah [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. Tambahan 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, hanyalah bersifat opsional meskipun kita lupa menulisnya, perintah tetap akan dijalankan. Tapi, selalu dianjurkan 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 tepatnya adalah INSERT INTO guru [id, nama, tgl_lahir]
VALUE[1, 'Sulaiman', '1987-02-21'];
0.Penting: Agar dapat mengikuti tutorial ini, silahkan terlebih dahulu buat table 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 / Tambah Data Baru
Berikut beberapa contoh menggunakan
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 menambah data ke dalam database:Contoh Input Data Cuma Satu [Baris]
MariaDB
INSERT INTO guru [id, nama, tgl_lahir]
VALUE[1, 'Sulaiman', '1987-02-21'];
id, nama, tgl_lahir adalah contoh nama kolom. Jika kita tidak sebutkan nama-nama kolomnya seperti contoh di bawah ini, maka seluruh data [VALUE] untuk masing-masing kolom harus ditulis [disebutkan] sesuai urutan semua kolom yang ada dalam tabel tersebut.
MariaDB
INSERT INTO guru
VALUE[NULL, 'Jaka Tingkir', '1987-02-21'];
Contoh diatas, kita tidak menyebutkan spesifik kolom apa saya yang hendak ditulis [diisi konten]. Dengan demikian, kita harus menulis seluruh Value dari kolom-kolom yang ada dalam tabel tersebut.
Pada contoh berikutnya, kita dapat menentukkan lebih spesifik kolom apa saja yang mau diisi datanya dengan menyebutkan nama-nama kolomnya didalam 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']
Harap diperhatikan. Pada contoh diatas, hanya sekedar contoh sintaks. Kenyataannya, konten harus diisi sesuai dengan tipe data yang digunakan pada masing-masing kolom. Untuk input data lebih dari satu [baris] gunakan pemisah koma [,] setelah dalam kurung, yang menunjukkan setiap kurung merupakan satu baris data.
Contoh ini tidak jauh berbeda dengan contoh pertama, hanya saja disini kita menginput data lebih dari satu [baris] yang dipisahkan dengan koma [,] dan mengganti kata VALUE dengan VALUES [plural].
INSERT INTO ... SET
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 memeperbarui [update] data. Disini, kita men-set kolom = diikuti data yang hendak kita input.Contohnya adalah sebagai berikut:
MariaDB
INSERT INTO guru
SET nama = 'Budi', tgl_lahir = '1982-02-11';
INSERT INTO ... SELECT
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 menyeleksi tabel lain. Artinya, kita dapat memasukkan [input] data dari Table lain. Ini, dapat menghemat waktu kita sehingga tidak perlu menginput ulang data. Perlu diperhatikan tipe data yang digunakan juga harus sesuai pada kolom-kolom antara dua table tersebut.Pada contoh dibawah ini, saya memiliki dua table [guru dan staf]. Table guru sebelumnya sudah dibuat dan berisi data. tabel staf masih kosong kemudian saya isi datanya dengan cara menyalin dari table guru tersebut.
Pertama-tama, silahkan jalankan perintah berikut:
MariaDB
CREATE TABLE staf LIKE guru;
Perintah diatas digunakan untuk membuat table baru staf dengan format [termasuk definisi dan tipe datanya] sama seperti table guru. Selanjutnya saya isi datanya dengan menyalin dari table guru yang memiliki kolom id=1.
MariaDB
INSERT INTO staf
SELECT * FROM guru WHERE id = 1;
LOAD DATA INFILE
Menambahkan Data dari sebuah File
INSERT INTO guru [id, nama, tgl_lahir]
VALUE[1, 'Sulaiman', '1987-02-21'];
5 adalah perintah yang digunakan untuk memasukkan data dari sebuah file terpisah. Agar file tersebut dapat dibaca dan bisa dimasukkan dalam database SQL, harus memiliki format yang sesuai.Pada contoh dibawah ini, saya membuat sebuah file dengan notepad [text editor] dan saya simpan dengan format
INSERT INTO guru [id, nama, tgl_lahir]
VALUE[1, 'Sulaiman', '1987-02-21'];
6 kemudian saya simpan dalam drive INSERT INTO guru [id, nama, tgl_lahir]
VALUE[1, 'Sulaiman', '1987-02-21'];
7 [root]. File tersebut saya beri nama INSERT INTO guru [id, nama, tgl_lahir]
VALUE[1, 'Sulaiman', '1987-02-21'];
8 dan saya isi dengan data sebagai berikut:dataguru.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
0Data diatas, terlihat seperti terbagi dalam 3 kolom [id, nama, tgl_lahir]. Dalam text editor [atau Notepad] setiap kolom cukup dipisahkan dengan menekan tab pada keyboard. Setiap baris, diakhiri dengan Enter.
Untuk mengimport [memasukkan] data dari file ke dalam 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
1Hasilnya 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
2Kemudian, saya lihat hasilnya apakah benar data tersebut sudah masuk dalam database, dengan menjalankan perintah berikut: