微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

导出mysql数据库结构并生成列表脚本供VIM使用

  很多时候,大家都是要 “接过别人手中的枪” ,在已有的代码上进行开发、修改……所以,很多时候,总是对数据的存储结构不是很熟悉,影响工作的效率,浪费大量时间在查阅数据库存储结构上。(当然了,用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: . 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: . MysqL_error());
}

$file_list = ////////////////////////////////////////////;
$file_list .= Welcome To MysqL_soup_list;
$file_list .= ////////////////////////////////////////////;

$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 .= //------------------------------------;
$result_soup .= //------------------------------------;
$result_soup .= // . $row_table[0] . ;
$result_soup .= // . $row_table[1] . ;
$file_save = SAVE_FILE_FOLDER . '/' . $row_table[0];
}

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

file_put_contents(SAVE_FILE_NAME,$file_list);
MysqL_close($MysqL_link);

  大家有没有发现: 最后的变量名是result_soup。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐