Makale Rehberi
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!
📚 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!