MySQL, birden fazla alan pozisyonunu artırmak için eklensin mi? Sütun deyimini değiştir kullanımının ayrıntılı açıklaması

MySQL çoklu alan pozisyonlarını artırmak için eklemeyi değiştir? Sütun deyimini değiştir kullanımının ayrıntılı açıklaması

MySQL ALTER komutu

Veri tablosu adını değiştirmemiz veya veri tablosu alanlarını değiştirmemiz gerektiğinde MySQL ALTER komutunu kullanmamız gerekir.

Bu öğreticiye başlamadan önce, testalter_tbl adında bir tablo oluşturalım.

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)

Tablo alanlarını silin, ekleyin veya değiştirin

Aşağıdaki komut, yukarıda oluşturulan tablonun i sütununu bırakmak için DROP yan tümcesiyle birlikte ALTER komutunu kullanır:

mysql> ALTER TABLE testalter_tbl  DROP i;

Veri tablosunda yalnızca bir alan kalmışsa, bir alanı silmek için DROP kullanılamaz.

ADD yan tümcesi MySQL'de veri tablosuna sütun eklemek için kullanılır.Aşağıdaki örnek, i alanını testalter_tbl tablosuna ekler ve veri türünü tanımlar:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Yukarıdaki komutu yürüttükten sonra, veri tablosu alanlarının sonuna otomatik olarak i alanı eklenir.

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)

Yeni alanın konumunu belirtmeniz gerekiyorsa, MySQL tarafından sağlanan FIRST anahtar sözcüğünü kullanabilirsiniz (setKonumlandırmailk sütun), alan adından SONRA (bir alandan sonra ayarlanır).

Aşağıdaki ALTER TABLE ifadesini deneyin ve başarılı yürütmeden sonra, tablo yapısındaki değişiklikleri görüntülemek için SHOW COLUMNS'ı kullanın:

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;

FIRST ve AFTER anahtar sözcükleri yalnızca ADD yan tümcesinde kullanılır, bu nedenle bir veri tablosu alanının konumunu sıfırlamak istiyorsanız, alanı silmek için DROP'u kullanmanız ve ardından alanı eklemek ve konumu ayarlamak için ADD'yi kullanmanız gerekir.


Alan türünü ve adını değiştirin

Alan türünü ve adını değiştirmeniz gerekirse, ALTER komutunda MODIFY veya CHANGE yan tümcesini kullanabilirsiniz.

Örneğin, c alanının türünü CHAR(1)'den CHAR(10'a) değiştirmek için aşağıdaki komutu yürütün:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

CHANGE yan tümcesi ile sözdizimi çok farklıdır.CHANGE anahtar sözcüğünden hemen sonra değiştirmek istediğiniz alanın adı gelir ve ardından yeni alan adını ve türünü belirtin.Aşağıdaki örneği deneyin:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

ALTER TABLE'ın Null ve Varsayılan Değerler Üzerindeki Etkisi

Bir alanı değiştirdiğinizde, yalnızca dahil edip etmeyeceğinizi veya varsayılan bir değer ayarlayıp ayarlamayacağınızı belirtebilirsiniz.

Aşağıdaki örnek, j alanının NULL DEĞİL olduğunu ve varsayılan değerin 100 olduğunu belirtir.

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Varsayılan bir değer ayarlamazsanız, MySQL alanı otomatik olarak varsayılan olarak NULL olarak ayarlar.


Alan varsayılan değerini değiştir

ALTER'ı bir alanın varsayılan değerini değiştirmek için kullanabilirsiniz, aşağıdaki örnekleri deneyin:

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)

Aşağıdaki örnekte olduğu gibi, bir alanın varsayılan değerini kaldırmak için ALTER komutunu DROP yan tümcesiyle birlikte de kullanabilirsiniz:

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:

Veri tablosu türünü değiştirmek, ALTER komutu ve TYPE yan tümcesi kullanılarak yapılabilir.Testalter_tbl tablosunun türünü MYISAM olarak değiştirdiğimiz aşağıdaki örneği deneyin:

Not:Veri tablosu türünü görüntülemek için SHOW TABLE STATUS ifadesini kullanabilirsiniz.

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)

Tablo adını değiştir

Veri tablosunun adını değiştirmeniz gerekirse, bunu yapmak için ALTER TABLE deyimindeki RENAME yan tümcesini kullanabilirsiniz.

testalter_tbl veri tablosunu alter_tbl olarak yeniden adlandırmak için aşağıdaki örneği deneyin:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER komutu, sonraki bölümlerde tanıtacağımız MySQL veri tablolarında dizinler oluşturmak ve silmek için de kullanılabilir.

diğer kullanımları değiştirmek

Depolama motorunu değiştirin: myisam olarak değiştirin

alter table tableName engine=myisam;

Yabancı anahtar kısıtlamasını kaldırın: keyName bir yabancı anahtar diğer adıdır

alter table tableName drop foreign key keyName;

Değiştirilen alanın göreli konumu: burada ad1 değiştirmek istediğiniz alandır, tip1 alanın orijinal türüdür ve ilk ve sonra birini seçebilirsiniz, ki bu açık olmalıdır, ilk önce yerleştirilir ve sonra name2 alanından sonra yerleştirilir

alter table tableName modify name1 type1 first|after name2;

Umut Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) paylaşılan "MySQL, çoklu alan pozisyonlarını artırmak için ekle? Modify Sütun Beyanı Kullanımının Ayrıntılı Açıklaması" size yardımcı olur.

Bu makalenin bağlantısını paylaşmaya hoş geldiniz:https://www.chenweiliang.com/cwl-495.html

En son güncellemeleri almak için Chen Weiliang'ın blogunun Telegram kanalına hoş geldiniz!

🔔 Kanalın üst dizinindeki değerli "ChatGPT İçerik Pazarlama Yapay Zeka Aracı Kullanım Kılavuzunu" alan ilk kişi olun! 🌟
📚 Bu rehber çok büyük değer içeriyor, 🌟Bu nadir bir fırsat, kaçırmayın! ⏰⌛💨
İsterseniz paylaşın ve beğenin!
Paylaşımlarınız ve beğenileriniz bizim sürekli motivasyonumuz!

 

发表 评论

E-posta hesabınız yayımlanmayacak. 必填 项 已 用 * 标注

yukarı kaydır