MYSQL – ALTER, DROP, RENAME, MODIFY

Apa itu Perintah ALTER?

Seperti pepatah Perubahan adalah satu-satunya yang konstan

Seiring berjalannya waktu, persyaratan bisnis juga berubah. Seiring dengan perubahan kebutuhan bisnis, desain Database juga perlu berubah.

MySQL menyediakan MENGUBAH fungsi yang membantu kita menggabungkan perubahan pada desain database yang sudah ada.

Perintah alter digunakan untuk memodifikasi database, tabel, tampilan, atau objek database lain yang ada yang mungkin perlu diubah selama siklus hidup database.

Misalkan kita telah menyelesaikan desain database kita dan telah diimplementasikan. Pengguna database kami menggunakannya dan kemudian mereka menyadari beberapa informasi penting tertinggal dalam tahap desain. Mereka tidak ingin kehilangan data yang sudah ada namun hanya ingin memasukkan informasi baru. Perintah alter berguna dalam situasi seperti itu. Kita dapat menggunakan perintah alter untuk mengubah tipe data suatu field dari string menjadi numerik, mengubah nama field menjadi nama baru atau bahkan menambahkan kolom baru dalam tabel.

Mengubah – sintaksis

Sintaks dasar yang digunakan untuk menambahkan kolom ke tabel yang sudah ada ditunjukkan di bawah ini

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

SINI

  • “UBAH TABEL `nama_tabel`” adalah perintah yang memberitahu MySQL server untuk mengubah tabel bernama `nama_tabel`.
  • “TAMBAHKAN KOLOM `nama_kolom` `tipe_data`” adalah perintah yang memberitahu MySQL server untuk menambahkan kolom baru bernama `column_name` dengan tipe data `data_type'.

Misalkan Myflix telah memperkenalkan penagihan dan pembayaran daring. Untuk tujuan itu, kita diminta untuk menambahkan kolom untuk nomor kartu kredit di tabel anggota kita. Kita dapat menggunakan perintah ALTER untuk melakukannya. Mari kita lihat dulu struktur tabel anggota sebelum kita membuat perubahan apa pun. Skrip yang ditunjukkan di bawah ini membantu kita melakukannya.

SHOW COLUMNS FROM `members`;
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Kita dapat menggunakan skrip yang ditunjukkan di bawah ini untuk menambahkan field baru ke tabel anggota.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Menjalankan skrip di atas dalam MySQL terhadap Myflixdb menambahkan kolom baru bernama nomor kartu kredit ke tabel anggota dengan tipe data VARCHAR. Menjalankan skrip show columns akan memberikan hasil berikut.

SHOW COLUMNS FROM `members`;
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

Seperti yang Anda lihat dari hasil yang dikembalikan, nomor kartu kredit telah ditambahkan ke tabel anggota. Data yang terdapat pada data anggota tidak terpengaruh dengan penambahan kolom baru.

APA PERINTAH JATUHNYA?

Perintah DROP digunakan untuk

  1. Hapus database dari MySQL Server
  2. Hapus objek (seperti Tabel, Kolom) dari database.

Sekarang mari kita lihat contoh praktis yang menggunakan perintah DROP.

Dalam contoh sebelumnya pada Perintah Alter, kami menambahkan kolom bernama nomor kartu kredit ke tabel anggota.

Misalkan fungsi penagihan online akan memakan waktu dan kami ingin MENGHAPUS kolom kartu kredit

Kita dapat menggunakan skrip berikut

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Menjalankan skrip di atas akan menghilangkan kolom credit_card_number dari tabel anggota

Sekarang mari kita lihat kolom di tabel anggota untuk mengonfirmasi apakah kolom kita telah dihapus.

SHOW COLUMNS FROM `members`;

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb memberi kita hasil berikut.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Perhatikan bahwa nomor kartu kredit telah dihapus dari daftar kolom.

DROP MEJA

Sintaks untuk DROP tabel dari Database adalah sebagai berikut –

DROP TABLE `sample_table`;

Mari kita lihat sebuah contoh

DROP TABLE `categories_archive`;

Menjalankan skrip di atas akan menghapus tabel bernama ` categories_archive ` dari basis data kami.

APA PERINTAH GANTI NAMA?

Perintah rename digunakan untuk ubah nama objek database yang ada (seperti Tabel, Kolom) menjadi nama baru.

Mengganti nama tabel tidak berarti kehilangan data apa pun yang ada di dalamnya.

Sintaksis:-

Perintah rename memiliki sintaksis dasar berikut.

RENAME TABLE `current_table_name` TO `new_table_name`;

Misalkan kita ingin mengganti nama tabel movierentals menjadi movie_rentals, kita dapat menggunakan skrip di bawah ini untuk mencapainya.

RENAME TABLE `movierentals` TO `movie_rentals`;

Menjalankan skrip di atas akan mengganti nama tabel `movierentals` menjadi `movie_rentals`.

Sekarang kita akan mengganti nama tabel movie_rentals kembali ke nama aslinya.

RENAME TABLE `movie_rentals` TO `movierentals`;

GANTI KATA KUNCI

Mengubah Kata Kunci memungkinkan Anda melakukannya

  1. Ubah Nama Kolom
  2. Ubah Tipe Data Kolom
  3. Ubah Batasan Kolom

Mari kita lihat sebuah contoh. Field nama lengkap pada tabel member bertipe data varchar dan lebarnya 150.

SHOW COLUMNS FROM `members`;

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb memberi kita hasil berikut.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Misalkan kita mau

  1. Ubah nama field dari “nama_lengkap” menjadi “nama lengkap
  2. Ubah menjadi tipe data char dengan lebar 250
  3. Tambahkan batasan NOT NULL

Kita dapat melakukannya menggunakan perintah ubah sebagai berikut –

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb dan kemudian mengeksekusi skrip show columns yang diberikan di atas memberikan hasil berikut.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

MODIFIKASI KATA KUNCI

Kata Kunci MODIFY memungkinkan Anda melakukannya

  1. Ubah Tipe Data Kolom
  2. Ubah Batasan Kolom

Dalam contoh CHANGE di atas, kita harus mengubah nama bidang dan rincian lainnya. Menghilangkan nama field dari pernyataan CHANGE akan menghasilkan kesalahan. Misalkan kita hanya tertarik untuk mengubah tipe data dan batasan pada field tanpa mempengaruhi nama field, kita dapat menggunakan kata kunci MODIFY untuk melakukannya.

Skrip di bawah ini mengubah lebar kolom “nama lengkap” dari 250 menjadi 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb dan kemudian mengeksekusi skrip show columns yang diberikan di atas memberikan hasil berikut di bawah ini.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

SETELAH KATA KUNCI

Misalkan kita ingin menambahkan kolom baru pada posisi tertentu dalam tabel.

Kita bisa menggunakan perintah alter bersamaan dengan kata kunci AFTER.

Script di bawah ini menambahkan “date_of_registration” tepat setelah tanggal lahir di tabel anggota.

ALTER TABLE  `members` ADD  `date_of_registration` date NULL AFTER  `date_of_birth`;

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb dan kemudian mengeksekusi skrip show columns yang diberikan di atas memberikan hasil berikut di bawah ini.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

Kesimpulan

  • Perintah alter digunakan ketika kita ingin memodifikasi database atau objek apa pun yang terdapat dalam database.
  • Perintah drop digunakan untuk menghapus database MySQL Server atau objek dalam database.
  • Perintah rename digunakan untuk mengubah nama tabel menjadi nama tabel baru.
  • Kata kunci Ubah memungkinkan Anda mengubah nama kolom, tipe data, dan batasan
  • Modifikasi Kata Kunci memungkinkan Anda mengubah tipe data kolom dan batasannya
  • Kata kunci After digunakan untuk menentukan posisi kolom dalam tabel