Bazen tablo ismimiz anlamsız olabiliyor, bu nedenle tablonun isminin değiştirilmesi ya da yeniden isimlendirilmesi gerekiyor. MySQL, mevcut veritabanındaki bir veya daha fazla tabloyu yeniden adlandırabilen kullanışlı bir sözdizimi sağlar.
Sözdizimi
Tablonun adını değiştirmek için kullanılan sözdizimi aşağıdadır:
mysql> RENAME old_table TO new_table;
Burada bundan emin olmalıyız yeni_tablo_adı bulunmamalı ve eski_tablo_adı veritabanında bulunmalıdır. Aksi taktirde hata mesajı verecektir. Bu ifadeyi çalıştırmadan önce tablonun kilitli olmadığından ve aktif işlem olmadığından emin olmak içindir.
NOT: RENAME TABLE deyimini kullanacaksak mevcut tabloya ALTER ve DROP TABLE ayrıcalıklarının olması gerekmektedir. Ayrıca bu ifade geçici bir tablonun adını değiştiremez.
MySQL'i de kullanabiliriz TABLOYU YENİDEN ADLANDIRIN Birden fazla tablo adını tek bir ifadeyle değiştirmeye yönelik ifade, aşağıda gösterildiği gibi:
RENAME TABLE old_tab1 TO new_tab1, old_tab2 TO new_tab2, old_tab3 TO new_tab3;
itibaren MySQL 8.0.13 sürümünde, LOCK deyimiyle kilitlenen eski tablo adını değiştirebiliriz ve ayrıca WRITE LOCK deyimini kullanırız. Örneğin, geçerli ifade aşağıdadır:
mysql> LOCK TABLE old_tab_name1 WRITE; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Aşağıdaki ifadelere izin verilmez:
mysql> LOCK TABLE old_tab_name1 READ; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
MySQL 8.0.13 sürümünden önce LOCK TABLE deyimiyle kilitlenen tablo adını değiştiremiyoruz.
MySQL ayrıca bir tabloyu bir veritabanından diğer veritabanına taşımak için RENAME TABLE deyimini kullanır; bu, aşağıda gösterilmiştir:
mysql> RENAME TABLE current_db.tablel_name TO other_db.tablel_name;
MySQL YENİDEN ADLANDIRMA TABLOSU Örneği
RENAME TABLE ifadesinin MySQL'de nasıl çalıştığını çeşitli örneklerle anlayalım. Diyelim ki adında bir tablomuz var. ÇALIŞAN ve bazı nedenlerden dolayı, onu adlı tabloya değiştirme ihtiyacı var. MÜŞTERİ .
Tablo Adı: çalışan
Daha sonra tablo adını değiştirmek için aşağıdaki sözdizimini yürütün:
mysql> RENAME employee TO customer;
Çıktı
java'da jvm
'Çalışan' adlı tablonun yeni bir tablo adı olan 'müşteri' olarak değiştirileceğini göreceğiz:
Yukarıdaki çıktıda RENAME TABLE deyimini çalıştırdıktan sonra çalışan tablo adını kullanırsak hata mesajı vereceğini görebiliriz.
Birden Çok Tabloyu YENİDEN ADLANDIRMA
MySQL'deki RENAME TABLE ifadesi aynı zamanda tek bir ifade içerisinde birden fazla tablo adını değiştirmemize de olanak sağlar. Aşağıdaki açıklamaya bakın:
Diyelim ki veritabanımız ' çalışanımb ' aşağıdaki tablolara sahip:
Tablo adı müşteriyi çalışana ve masa adı gömleklerini giysilere dönüştürmek istiyorsak aşağıdaki ifadeyi uygulayın:
mysql> RENAME TABLE customer TO employee, shirts TO garments;
Çıktı
Tablo adı müşterisinin çalışana ve masa adı gömleklerinin giysilere başarıyla yeniden adlandırıldığını görebiliriz.
ALTER ifadesini kullanarak tabloyu yeniden adlandırın
ALTER TABLE deyimi aynı zamanda mevcut veritabanındaki mevcut tabloyu yeniden adlandırmak için de kullanılabilir. ALTER TABLE ifadesinin sözdizimi aşağıdadır:
ALTER TABLE old_table_name RENAME TO new_table_name;
Mevcut tablo adındaki giysileri yeni tablo adı gömleklerine dönüştüren aşağıdaki sorguya bakın:
Java'da a'nın ascii'si
mysql> ALTER TABLE garments RENAME TO shirts:
Çıktı
Burada masa isimli kıyafetlerin, masa isimli gömlekler olarak yeniden adlandırıldığını görebiliriz.
Geçici Tabloyu YENİDEN ADLANDIRMA
Geçici bir tablo, yalnızca geçerli oturumda görülebilen ve erişilebilen geçici verileri saklamamıza olanak tanır. Öncelikle aşağıdaki ifadeyi kullanarak geçici bir tablo oluşturmamız gerekiyor:
mysql> CREATE TEMPORARY TABLE Students( name VARCHAR(40) NOT NULL, total_marks DECIMAL(12,2) NOT NULL DEFAULT 0.00, total_subjects INT UNSIGNED NOT NULL DEFAULT 0);
Daha sonra bu tabloya değerler ekleyin:
mysql> INSERT INTO Students(name, total_marks, total_subjects) VALUES ('Joseph', 150.75, 2), ('Peter', 180.75, 2);
Daha sonra geçici tabloyu kontrol etmek için show table komutunu çalıştırın:
mysql> SELECT * FROM Students;
Şimdi geçici tablonun adını değiştirmek için aşağıdaki komutu çalıştırın:
mysql> RENAME TABLE Students TO student_info;
Aşağıda gösterildiği gibi bir hata mesajı verecektir:
Böylece MySQL, ALTER tablo ifadesinin geçici tabloyu yeniden adlandırmasına izin verir:
mysql> ALTER TABLE Students RENAME TO student_info;
Çıktı