匯出mysql資料庫結構並產生列表指令碼供VIM使用_PHP教程

來源:互聯網
上載者:User
  很多時候,大家都是要 “接過別人手中的槍” ,在已有的代碼上進行開發、修改……所以,很多時候,總是對資料的儲存結構不是很熟悉,影響工作的效率,浪費大量時間在查閱資料庫儲存結構上。(當然了,用GUI類資料庫工具的可能除外。)

  因為我比較依賴VIM + mysql client 的開發環境,所以,寫了個PHP小指令碼,一下子把所有表的create語句產生到一個檔案夾中,並使用列表來管理,這樣在vim中可以用gf熱鍵,一下子就跳到那個表的定義,個人認為比較方便。

  為什麼不把所有的語句都儲存到同一個檔案中呢,有以下幾個原因:

  1. 有的表的中文 comment 編碼格式不對,可能是亂碼,這樣可能會影響到下面出現的中文;

  2. 如果有列表檔案的話,比較好管理,一目瞭然,個人比較喜歡,呵呵 。

以下為引用的內容:
/**
* 用來產生MySQL資料庫文檔
* @filename mysql_db_creator.php
* @touch 2009年 09月 07日 星期一 14:33:47 CST
* @author Yufeng Zhang
*/

define('HOST' , '192.168.1.162');
define('PORT' , 3306);
define('USER' , 'zhangyufeng');
define('PASS' , 'zhangyufeng');
define('DB_NAME' , 'beijing');
define('DB_CHARSET' , 'utf8');
//資料表列表檔案
define('SAVE_FILE_NAME' , 'ganji_v3_beijing_tables_list');
//詳細文檔存入路徑
define('SAVE_FILE_FOLDER' , 'ganji_v3_beijing');

//定義路徑
$path_info = pathinfo(__FILE__);
define('DIR_NAME' , $path_info['dirname']);

if(!is_dir(DIR_NAME . '/' . SAVE_FILE_FOLDER)){
mkdir(DIR_NAME . '/' . SAVE_FILE_FOLDER);
}


$mysql_link = mysql_connect(HOST . ':' . PORT , USER, PASS);
if(!$mysql_link){
die("Counld not connect to Mysql:\n" . mysql_error());
}

mysql_query('use ' . DB_NAME);
mysql_query('set names ' . DB_CHARSET);


$table_resource = mysql_query("SHOW TABLES FROM " . DB_NAME, $mysql_link);
if(!$table_resource){
die("Counld not open DB:\n" . mysql_error());
}

$file_list = "////////////////////////////////////////////\n";
$file_list .= "Welcome To Mysql_soup_list\n";
$file_list .= "////////////////////////////////////////////\n";

$result_soup = '';

while($row = mysql_fetch_row($table_resource)){
$sql = "show create table " . $row[0];
$get_sql = mysql_query($sql , $mysql_link);
$result_soup = '';

if($row_table = mysql_fetch_row($get_sql)){
$result_soup .= "//------------------------------------\n";
$result_soup .= "//------------------------------------\n";
$result_soup .= "// " . $row_table[0] . "\n";
$result_soup .= "// " . $row_table[1] . "\n";
$file_save = SAVE_FILE_FOLDER . '/' . $row_table[0];
}

file_put_contents($file_save, $result_soup);
$file_list .= DIR_NAME . '/' . $file_save . "\n";
}

file_put_contents(SAVE_FILE_NAME , $file_list);
mysql_close($mysql_link);

  大家有沒有發現: 最後的變數名是result_soup。

  轉自:http://www.cnblogs.com/amboyna/

http://www.bkjia.com/PHPjc/364300.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/364300.htmlTechArticle很多時候,大家都是要 接過別人手中的槍 ,在已有的代碼上進行開發、修改所以,很多時候,總是對資料的儲存結構不是很熟悉,影響工...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.