MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

APA ITU ALTER COMMAND?

Seperti kata pepatah, Perubahan adalah satu-satunya hal yang konstan

Seiring waktu, persyaratan bisnis juga berubah. Saat kebutuhan bisnis berubah, desain database juga perlu diubah.

MySQL menyediakan fungsi ALTER yang membantu kami memasukkan perubahan ke desain database yang sudah ada .

Perintah alter digunakan untuk mengubah database, tabel, tampilan, atau objek database lain 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 telah ditinggalkan dalam fase desain. Mereka tidak ingin kehilangan data yang ada tetapi hanya ingin memasukkan informasi baru. Perintah alter berguna dalam situasi seperti itu. Kita dapat menggunakan perintah alter untuk mengubah tipe data suatu field dari say string menjadi numeric, mengubah nama field menjadi nama baru atau bahkan menambahkan kolom baru dalam tabel.

Alter- sintaks

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

  • "ALTER TABLE` table_name` " adalah perintah yang memberi tahu server MySQL untuk mengubah tabel bernama` table_name`.
  • "ADD COLUMN` column_name` `data_type`" adalah perintah yang memberi tahu server MySQL untuk menambahkan kolom baru bernama `column_name` dengan tipe data` data_type '.

Misalkan Myflix telah memperkenalkan penagihan dan pembayaran online. Untuk itu, kami telah diminta untuk menambahkan field untuk nomor kartu kredit di tabel anggota kami. Kita bisa menggunakan perintah ALTER untuk melakukan itu. Pertama mari kita lihat struktur tabel anggota sebelum kita membuat perubahan apa pun. Skrip yang ditunjukkan di bawah membantu kita melakukan itu.

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 bidang baru ke tabel anggota.

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

Menjalankan skrip di atas di MySQL terhadap Myflixdb menambahkan kolom baru bernama nomor kartu kredit ke tabel anggota dengan VARCHAR sebagai tipe datanya. Menjalankan skrip kolom pertunjukan memberi kita hasil sebagai 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 oleh penambahan kolom baru.

APA ITU PERINTAH DROP?

Perintah DROP digunakan untuk

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

Sekarang mari kita lihat contoh praktis yang menggunakan perintah DROP.

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

Misalkan fungsionalitas penagihan online akan memakan waktu dan kami ingin DROP kolom kartu kredit

Kita bisa menggunakan script berikut

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Menjalankan skrip di atas menghapus kolom credit_card_number dari tabel anggota

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

SHOW COLUMNS FROM `members`;

Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil sebagai 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 bidang.

TABEL DROP

Sintaks untuk DROP tabel dari Database adalah sebagai berikut -

DROP TABLE `sample_table`;

Mari kita lihat contohnya

DROP TABLE `categories_archive`;

Menjalankan skrip di atas menghapus tabel bernama `category_archive` dari database kami.

APA ITU RENAME COMMAND?

Perintah ganti nama digunakan untuk mengubah nama objek database yang sudah ada (seperti Tabel, Kolom) menjadi nama baru .

Mengganti nama tabel tidak membuatnya kehilangan data apa pun yang terkandung di dalamnya.

Sintaksis:-

Perintah ganti nama memiliki sintaks 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 yang ditunjukkan di bawah ini untuk mencapainya.

RENAME TABLE `movierentals` TO `movie_rentals`;

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

Kami sekarang akan mengganti nama tabel movie_rentals kembali ke nama aslinya.

RENAME TABLE `movie_rentals` TO `movierentals`;

GANTI KATA KUNCI

Ubah Kata Kunci memungkinkan Anda untuk

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

Mari kita lihat contohnya. Bidang nama lengkap di tabel anggota adalah tipe data varchar dan memiliki lebar 150.

SHOW COLUMNS FROM `members`;

Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil sebagai 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 "full_names" menjadi "fullname
  2. Ubah ke tipe data char dengan lebar 250
  3. Tambahkan batasan NOT NULL

Kita dapat melakukannya dengan menggunakan perintah change sebagai berikut -

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

Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb dan kemudian menjalankan skrip kolom pertunjukan yang diberikan di atas memberikan hasil sebagai 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

MODIFY Keyword memungkinkan Anda melakukannya

  1. Ubah Jenis Data Kolom
  2. Ubah Batasan Kolom

Pada contoh CHANGE di atas, kami harus mengubah nama field serta detail lainnya. Menghilangkan nama bidang 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 bidang "nama lengkap" dari 250 menjadi 50.

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

Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb dan kemudian menjalankan skrip kolom pertunjukan yang diberikan di atas memberikan hasil berikut yang ditunjukkan 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 bersama dengan kata kunci AFTER.

Skrip di bawah 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 di meja kerja MySQL terhadap myflixdb dan kemudian menjalankan skrip kolom pertunjukan yang diberikan di atas memberikan hasil berikut yang ditunjukkan 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

Ringkasan

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