Direktori Artikel
MySQL ubah tambah untuk menambah beberapa posisi bidang? Penjelasan terperinci tentang penggunaan pernyataan kolom modifikasi
MySQL ALTER perintah
Ketika kita perlu mengubah nama tabel data atau memodifikasi bidang tabel data, kita perlu menggunakan perintah MySQL ALTER.
Sebelum memulai tutorial ini, mari buat tabel bernama: testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Hapus, tambahkan, atau ubah bidang tabel
Perintah berikut menggunakan perintah ALTER dengan klausa DROP untuk menjatuhkan kolom i dari tabel yang dibuat di atas:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP tidak dapat digunakan untuk menghapus field jika hanya ada satu field yang tersisa di tabel data.
Klausa ADD digunakan di MySQL untuk menambahkan kolom ke tabel data Contoh berikut menambahkan bidang i ke tabel testalter_tbl dan mendefinisikan tipe data:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Setelah menjalankan perintah di atas, bidang i secara otomatis ditambahkan ke akhir bidang tabel data.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Jika Anda perlu menentukan lokasi bidang baru, Anda dapat menggunakan kata kunci PERTAMA yang disediakan oleh MySQL (setPenentuan posisikolom pertama), AFTER nama bidang (ditetapkan setelah bidang).
Coba pernyataan ALTER TABLE berikut, dan setelah eksekusi berhasil, gunakan SHOW COLUMNS untuk melihat perubahan dalam struktur tabel:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
Kata kunci FIRST dan AFTER hanya digunakan dalam klausa ADD, jadi jika Anda ingin mengatur ulang posisi bidang tabel data, Anda perlu menggunakan DROP untuk menghapus bidang dan kemudian gunakan ADD untuk menambahkan bidang dan mengatur posisinya.
Ubah jenis dan nama bidang
Jika Anda perlu mengubah jenis dan nama bidang, Anda dapat menggunakan klausa MODIFY atau CHANGE dalam perintah ALTER.
Misalnya, untuk mengubah jenis bidang c dari CHAR(1) menjadi CHAR(10), jalankan perintah berikut:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Dengan klausa CHANGE, sintaksnya sangat berbeda.Segera setelah kata kunci CHANGE adalah nama bidang yang ingin Anda ubah, lalu tentukan nama dan jenis bidang baru.Coba contoh berikut:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Pengaruh ALTER TABLE pada Nilai Null dan Default
Saat Anda mengubah bidang, Anda bisa menentukan apakah akan menyertakan saja atau apakah akan menyetel nilai default.
Contoh berikut menetapkan bahwa bidang j adalah NOT NULL dan nilai defaultnya adalah 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Jika Anda tidak menetapkan nilai default, MySQL akan secara otomatis mengatur bidang ke NULL secara default.
Ubah nilai default bidang
Anda dapat menggunakan ALTER untuk mengubah nilai default bidang, coba contoh berikut:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Anda juga dapat menggunakan perintah ALTER dengan klausa DROP untuk menghapus nilai default bidang, seperti dalam contoh berikut:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
Memodifikasi tipe tabel data dapat dilakukan dengan menggunakan perintah ALTER dan klausa TYPE.Coba contoh berikut, di mana kita mengubah jenis tabel testalter_tbl menjadi MYISAM:
Catatan:Untuk melihat tipe tabel data, Anda dapat menggunakan pernyataan SHOW TABLE STATUS.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
Ubah nama tabel
Jika Anda perlu mengubah nama tabel data, Anda dapat menggunakan klausa RENAME dalam pernyataan ALTER TABLE untuk melakukannya.
Coba contoh berikut untuk mengganti nama tabel data testalter_tbl menjadi alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Perintah ALTER juga dapat digunakan untuk membuat dan menghapus indeks pada tabel data MySQL, yang akan kita perkenalkan pada bab selanjutnya.
ubah kegunaan lain
Ubah mesin penyimpanan: ubah ke myisam
alter table tableName engine=myisam;
Hapus batasan kunci asing: keyName adalah alias kunci asing
alter table tableName drop foreign key keyName;
Posisi relatif bidang yang dimodifikasi: di sini name1 adalah bidang yang ingin Anda ubah, type1 adalah jenis bidang asli, dan Anda dapat memilih salah satu dari yang pertama dan setelahnya, yang harus jelas, pertama ditempatkan pertama, dan setelahnya ditempatkan setelah bidang name2
alter table tableName modify name1 type1 first|after name2;
Harapan Chen Weiliang Blog ( https://www.chenweiliang.com/ ) bersama "MySQL alter add untuk meningkatkan beberapa posisi bidang? Penjelasan Detail Penggunaan Pernyataan Kolom Ubah" sangat membantu Anda.
Selamat datang untuk membagikan tautan artikel ini:https://www.chenweiliang.com/cwl-495.html
Selamat datang di saluran Telegram blog Chen Weiliang untuk mendapatkan pembaruan terkini!
📚 Panduan ini mengandung nilai yang sangat besar, 🌟Ini adalah kesempatan langka, jangan sampai terlewatkan! ⏰⌛💨
Bagikan dan sukai jika Anda suka!
Berbagi dan suka Anda adalah motivasi berkelanjutan kami!