MySQL mengubah tambahkan untuk meningkatkan beberapa posisi bidang? Penjelasan terperinci tentang penggunaan pernyataan kolom modifikasi

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!

🔔 Jadilah orang pertama yang mendapatkan "Panduan Penggunaan Alat AI Pemasaran Konten ChatGPT" yang berharga di direktori teratas saluran! 🌟
📚 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!

 

发表 评论

Alamat email Anda tidak akan dipublikasikan. 必填 项 已 用 * 标注

滚动 到 顶部