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