PHP ile mevcut veritabanı tablolarını değiştirmek

Mevcut veritabanı tablolarını değiştirmek

PHP ile mevcut veritabanı tablolarını değiştirmekAz önce ihtiyacım üzerine phpmyadmin’de varsayılan vertabanı türünü değiştirmek isimli bir yazı yayınlamıştım. Bu yazıdan sonra geçmiş veritabanlarının benzer kazalara kurban gitmemesi için tüm tabloları birlikte değiştirebilmek için ufak bir kod betiği yazdım. Aşağıdaki kod betiği güncel veritabanınızdaki tüm tabloların  türlerini (ya da storage-engine’lerini) MyISAM’a çevirir. Dilerseniz kod içerisindeki sorgu cümlesinden (16. satır) INNODB olarak güncelleyerek de kullanabilirsiniz. İşinize yarayacağını düşünüyorum.

<?php
$db_host = 'localhost';		//Sunucu adresi
$db_user = 'root';			//Veritabanı Kullanıcı Adı
$db_pass = '';				//Veritabanı Şifresi
$db_name = 'veritabani';	//Veritabanı Adı

$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $db);
mysql_query("SET NAMES 'utf8'", $db);
mysql_query("SET CHARACTER SET utf8", $db);
mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'", $db); 

	$result = mysql_query('SHOW TABLES');
	while($tablo = mysql_fetch_row($result))
	{
		mysql_query('ALTER TABLE '.$tablo[0].' ENGINE = MYISAM') OR die('Veritabanı Hatası: '.mysql_error());
		echo '<strong>'.$tablo[0].'</strong> isimli tablo başarıyla değiştirildi.<br />';
	}
echo 'Bitti.';
?>

 

Kolay Gelsin.

İyi günler.

Published by

mustafabugra

Systems Engineer

2 thoughts on “Mevcut veritabanı tablolarını değiştirmek”

  1. İyi de kod veriyorsun arkadaş neden veritabanı paylaşmıyorsun… Bu işi yapıyorsan bence veritabanlarını paylaş kı arkadaş php öğrensin iyi arşivde geliştirsin

    1. Merhaba Edel Ajans,
      “Bu işi yapıyorsan” tarzı bir yorum bence gereksiz olmuş.
      Zira yukarıda paylaştığım kod betiği oldukça genel bir betikdir. Sadece paylaşacağım bir veritabanında değil, kodu incelediğinizde göreceğiniz üzere veri tabanınızdaki tüm tablolar üzerinde işlem yapabilecektir. Bu sebeple ben veritabanı paylaşmasam da siz her veritabanı ile kullanabilirsiniz.
      “Veritabanını neden paylaşmıyorsun?” sorunuzun cevabını da böylece vermiş oldum sanıyorum.
      İyi günler dilerim :)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.