APAKAH PERINTAH ALTER?
Seperti kata pepatah Perubahan adalah satu-satunya pemalar
Dengan berlalunya masa, keperluan perniagaan juga berubah. Apabila keperluan perniagaan berubah, reka bentuk Pangkalan Data juga perlu berubah.
MySQL menyediakan fungsi ALTER yang membantu kami menggabungkan perubahan pada reka bentuk pangkalan data yang sudah ada .
Perintah alter digunakan untuk mengubah pangkalan data, jadual, pandangan atau objek pangkalan data yang ada yang mungkin perlu diubah selama kitaran hidup pangkalan data.
Anggaplah kita telah melengkapkan reka bentuk pangkalan data kita dan ia telah dilaksanakan. Pengguna pangkalan data kami menggunakannya dan kemudian mereka menyedari beberapa maklumat penting yang ditinggalkan dalam fasa reka bentuk. Mereka tidak mahu kehilangan data yang ada tetapi hanya ingin memasukkan maklumat baru. Perintah alter sangat berguna dalam situasi seperti itu. Kita dapat menggunakan perintah alter untuk mengubah jenis data bidang dari string katakan menjadi angka, mengubah nama bidang menjadi nama baru atau bahkan menambahkan lajur baru dalam tabel.
Alter- sintaks
Sintaks asas yang digunakan untuk menambahkan lajur ke jadual yang sudah ada ditunjukkan di bawah
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
SINI
- "ALTER TABLE` table_name` " adalah perintah yang memberitahu pelayan MySQL untuk mengubah jadual bernama` table_name`.
- "TAMBAHKAN COLUMN` column_name` `data_type`" adalah perintah yang menyuruh pelayan MySQL untuk menambahkan lajur baru bernama `column_name` dengan jenis data` data_type '.
Anggaplah bahawa Myflix telah memperkenalkan bil dan pembayaran dalam talian. Menjelang akhir itu, kami telah diminta untuk menambahkan ruang untuk nombor kad kredit di jadual ahli kami. Kita boleh menggunakan perintah ALTER untuk melakukannya. Mari lihat struktur jadual ahli terlebih dahulu sebelum kita membuat sebarang pindaan. Skrip yang ditunjukkan di bawah ini membantu kita untuk 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 | ||
varchar(255) | YES | NULL |
Kita boleh menggunakan skrip yang ditunjukkan di bawah ini untuk menambahkan medan baru ke jadual ahli.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Melaksanakan skrip di atas di MySQL terhadap Myflixdb menambahkan lajur baru bernama nombor kad kredit ke jadual ahli dengan VARCHAR sebagai jenis data. Melaksanakan skrip lajur tayangan memberi kita 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 | ||
varchar(255) | YES | NULL | |||
credit_card_number | varchar(25) | YES |
Seperti yang anda lihat dari hasil yang dikembalikan, nombor kad kredit telah ditambahkan ke jadual ahli. Data yang terdapat dalam data anggota tidak terpengaruh oleh penambahan lajur baru.
APA ITU PERINTAH HABIS?
Perintah DROP digunakan untuk
- Padamkan pangkalan data dari pelayan MySQL
- Padamkan objek (seperti Jadual, Lajur) dari pangkalan data.
Sekarang mari kita lihat contoh praktikal yang menggunakan perintah DROP.
Dalam contoh sebelumnya pada Perintah Alter, kami menambahkan lajur bernama nombor kad kredit ke jadual ahli.
Katakan fungsi pengebilan dalam talian memerlukan sedikit masa dan kami mahu MENGHABIS lajur kad kredit
Kita boleh menggunakan skrip berikut
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Melaksanakan skrip di atas menjatuhkan nombor kredit_card_nom dari jadual ahli
Sekarang mari kita lihat lajur di jadual ahli untuk mengesahkan sama ada lajur kami telah dijatuhkan.
SHOW COLUMNS FROM `members`;
Melaksanakan skrip di atas di MySQL workbench terhadap myflixdb memberikan 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 | ||
varchar(255) | YES | NULL |
Perhatikan bahawa nombor kad kredit telah dikeluarkan dari senarai bidang.
JADUAL HABIS
Sintaks untuk MENGHABISKAN jadual dari Pangkalan Data adalah seperti berikut -
DROP TABLE `sample_table`;
Mari kita lihat contoh
DROP TABLE `categories_archive`;
Melaksanakan skrip di atas akan menghapuskan jadual bernama `profiles_archive` dari pangkalan data kami.
APAKAH PERINTAH RENAME?
Perintah ganti nama digunakan untuk mengubah nama objek pangkalan data yang ada (seperti Jadual, Lajur) menjadi nama baru .
Menamakan semula jadual tidak membuatnya kehilangan data yang terkandung di dalamnya.
Sintaks: -
Perintah ganti nama mempunyai sintaks asas berikut.
RENAME TABLE `current_table_name` TO `new_table_name`;
Anggaplah bahawa kita mahu menamakan semula jadual movierentals menjadi movie_rentals, kita boleh menggunakan skrip yang ditunjukkan di bawah untuk mencapainya.
RENAME TABLE `movierentals` TO `movie_rentals`;
Melaksanakan skrip di atas menamakan semula jadual `movierentals` menjadi` movie_rentals`.
Kami sekarang akan menamakan semula jadual movie_rentals kepada nama asalnya.
RENAME TABLE `movie_rentals` TO `movierentals`;
TUKAR KATA KUNCI
Tukar Kata Kunci membolehkan anda
- Tukar Nama Lajur
- Tukar Jenis Data Lajur
- Tukar Kekangan Lajur
Mari lihat contohnya. Medan nama penuh dalam jadual ahli adalah jenis data varchar dan mempunyai lebar 150.
SHOW COLUMNS FROM `members`;
Melaksanakan skrip di atas di MySQL workbench terhadap myflixdb memberikan 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 | ||
varchar(255) | YES | NULL |
Andaikan kita mahu
- Tukar nama medan dari "nama penuh" menjadi "nama penuh
- Ubahnya menjadi jenis data char dengan lebar 250
- Tambahkan kekangan TIDAK NULL
Kami dapat menyelesaikannya dengan menggunakan perintah perubahan seperti berikut -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Menjalankan skrip di atas di MySQL workbench terhadap myflixdb dan kemudian melaksanakan 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 | ||
varchar(255) | YES | NULL |
KATA KUNCI MODIFY
Kata kunci MODIFY membolehkan anda
- Ubahsuai Jenis Data Lajur
- Ubah Kekangan Lajur
Dalam contoh PERUBAHAN di atas, kita harus menukar nama medan dan juga perincian lain. Menghilangkan nama medan dari pernyataan TUKAR akan menghasilkan ralat. Katakan kita hanya berminat mengubah jenis data dan kekangan di lapangan tanpa menjejaskan nama bidang, kita boleh menggunakan kata kunci MODIFY untuk mencapainya.
Skrip di bawah mengubah lebar medan "nama penuh" dari 250 hingga 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Melaksanakan skrip di atas di MySQL workbench terhadap myflixdb dan kemudian melaksanakan skrip show columns yang diberikan di atas memberikan hasil berikut seperti 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 | ||
varchar(255) | YES | NULL |
SELEPAS KATA KUNCI
Anggaplah bahawa kita mahu menambahkan lajur baru pada kedudukan tertentu dalam jadual.
Kita boleh menggunakan perintah alter bersama dengan kata kunci SELEPAS.
Skrip di bawah ini akan menambah "tarikh_daftar_tepat" sejurus tarikh lahir di jadual ahli.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Melaksanakan skrip di atas di MySQL workbench terhadap myflixdb dan kemudian melaksanakan skrip show columns yang diberikan di atas memberikan hasil berikut seperti 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 | ||
varchar(255) | YES | NULL |
Ringkasan
- Perintah alter digunakan ketika kita ingin memodifikasi pangkalan data atau objek apa pun yang terdapat dalam pangkalan data.
- Perintah drop digunakan untuk menghapus pangkalan data dari pelayan MySQL atau objek dalam pangkalan data.
- Perintah ganti nama digunakan untuk menukar nama jadual menjadi nama jadual baru.
- Kata kunci Ubah membolehkan anda menukar nama lajur, jenis data dan kekangan
- Kata Kunci Ubahsuai membolehkan anda mengubah jenis dan kekangan data lajur
- Kata kunci Selepas digunakan untuk menentukan kedudukan lajur dalam jadual