Belajar MySQL Urutan

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan urutan MySQL untuk secara otomatis menghasilkan nomor unik untuk kolom ID dari tabel.
MySQL
 
MySQL membuat urutan
 
Dalam MySQL, berurutan adalah daftar bilangan bulat yang dihasilkan dalam urutan menaik yaitu, 1,2,3 ... Banyak aplikasi perlu urutan untuk menghasilkan angka yang unik terutama untuk misalnya identifikasi, ID pelanggan di CRM, jumlah karyawan HR, jumlah peralatan dalam pelayanan sistem manajemen, dll.
 
membuat urutan di MySQL otomatis, Anda menetapkan AUTO_INCREMENT atribut untuk kolom, yang biasanya merupakan kolom kunci utama. Berikut ini adalah aturan yang harus Anda ikuti ketika Anda menggunakan AUTO_INCREMENT atribut:
  • Setiap tabel hanya memiliki satu AUTO_INCREMENT kolom yang datanya Jenis biasanya integer atau pelampung yang sangat langka.
  • The AUTO_INCREMENT kolom harus diindeks, yang berarti dapat berupa PRIMARY KEY atau UNIQUE indeks.
  • The AUTO_INCREMENT kolom harus memiliki NOT NULL kendala. Ketika Anda menetapkan AUTO_INCREMENT atribut kolom, MySQL akan membuat NOT NULL untuk Anda jika Anda tidak mendefinisikan secara eksplisit.
MySQL membuat contoh urutan
 
Contoh berikut membuat employees meja yang emp_no kolom AUTO_INCREMENT kolom:
CREATE TABLE employees (
emp_no INT ( 4 ) AUTO_INCREMENT PRIMARY KEY ,
first_name VARCHAR ( 50 ) ,
last_name    VARCHAR ( 50 )
) ENGINE = INNODB ; 
Bagaimana urutan MySQL bekerja
 
The AUTO_INCREMENT kolom memiliki atribut sebagai berikut:
  • Nilai mulai dari AUTO_INCREMENT kolom 1 dan itu meningkat sebesar 1 ketika Anda memasukkan NULL nilai ke dalam kolom atau ketika Anda menghilangkan nilai dalam INSERT pernyataan.
  • Untuk mendapatkan nomor urut yang dihasilkan lalu, Anda menggunakan LAST_INSERT_ID() fungsi. Anda sering menggunakan ID insert terakhir untuk laporan berikutnya misalnya, memasukkan data ke dalam tabel anak. Urutan yang dihasilkan terakhir adalah unik di sessions.In kata lain, jika koneksi lain menghasilkan nomor urut, dari koneksi Anda, Anda dapat memperolehnya dengan menggunakan LAST_INSERT_ID() fungsi. Untuk rincian lebih lanjut tentang LAST_INSERT_ID() fungsi, check it out MySQL LAST_INSERT_ID () fungsi tutorial .
  • Jika Anda menyisipkan baris baru ke dalam tabel dan menentukan nilai untuk kolom urutan, MySQL akan memasukkan nomor urut jika nomor urut tidak ada dalam kolom atau mengeluarkan kesalahan jika sudah ada. Jika Anda memasukkan nilai baru yang lebih besar dari nomor urutan berikutnya, MySQL akan menggunakan nilai baru sebagai nomor urut dimulai dan menghasilkan nomor urut yang unik lebih besar dari yang ada sekarang untuk penggunaan selanjutnya. Hal ini menciptakan kesenjangan dalam urutan.
  • Jika Anda menggunakan UPDATE pernyataan untuk memperbarui AUTO_INCREMENT kolom untuk nilai yang sudah ada, MySQL akan mengeluarkan error duplikat kunci jika kolom memiliki indeks yang unik. Jika Anda memperbarui AUTO_INCREMENT kolom ke nilai yang lebih besar dari nilai-nilai yang ada di kolom, MySQL akan menggunakan nomor berikutnya dari urutan nomor insert lalu untuk baris berikutnya misalnya, jika nomor urut insert lalu adalah 3, Anda memperbaruinya 10, nomor urut untuk baris baru 4. Lihat contoh di bagian bawah.
  • Jika Anda menggunakan DELETE pernyataan untuk menghapus baris insert lalu, MySQL mungkin atau mungkin tidak menggunakan kembali nomor urut dihapus tergantung pada mesin penyimpanan meja. Sebuah tabel MyISAM tidak menggunakan kembali nomor urut dihapus jika Anda menghapus baris misalnya, id insert terakhir dalam tabel adalah 10, jika Anda menghapusnya, MySQL masih menghasilkan nomor urutan berikutnya yang 11 untuk baris baru. Mirip dengan tabel MyISAM, InnoDB tabel lakukan menggunakan nomor urut reuse ketika baris akan dihapus.
Setelah Anda mengatur AUTO_INCREMENT atribut untuk kolom, Anda dapat mengatur ulang kenaikan otomatis nilai dalam berbagai cara misalnya, dengan menggunakan ALTER TABLE pernyataan.
 
Mari kita berlatih dengan urutan MySQL.
  •   Pertama, masukkan dua karyawan baru ke dalam employees tabel:
INSERT INTO employees ( first_name , last_name )
VALUES ( 'John' , 'Doe' ) ,
 'Mary' , 'Jane' ) ; 
  • Kedua, pilih data dari employees tabel:
SELECT * FROM employees ; 
  • Ketiga, menghapus karyawan kedua yang emp_no adalah 2:
DELETE FROM employees
WHERE emp_no = 2 ; 
  • Keempat, memasukkan karyawan baru:
INSERT INTO employees ( first_name , last_name )
VALUES ( 'Jack' , 'Lee' ) ; 

Karena mesin penyimpanan employees tabel InnoDB, tidak menggunakan kembali nomor urut dihapus. Baris baru memiliki emp_no 3.

  • Kelima, informasi karyawan yang ada dengan emp_no 3-1:
UPDATE employees
SET first_name = 'Joe' ,
emp_no = 1
WHERE emp_no = 3 ; 
MySQL mengeluarkan kesalahan duplikat entri untuk kunci primer. Mari kita memperbaikinya:
UPDATE employees
SET first_name = 'Joe' ,
emp_no = 10
WHERE emp_no = 3 ; 
  • Keenam, masukkan karyawan baru setelah memperbarui nomor urut ke 10:
INSERT INTO employees ( first_name , last_name )
VALUES ( 'Wang' , 'Lee' ) ; 

Nomor urut berikutnya dari insert terakhir adalah 4, karena MySQL menggunakan 4 untuk baris baru, bukan 11.

Dalam tutorial ini, Anda telah belajar bagaimana menggunakan urutan MySQL untuk menghasilkan nomor unik untuk kolom kunci utama dengan menetapkan kolom AUTO_INCREMENT atribut. 
Apabila kurang paham, silahkan nanya sama admin saya sendiri ya kawan :')

Comments