.
[ リロード ]   [ ソース ]  [ トップ | 一覧 | 単語検索 | 最新 | バックアップ | ヘルプ ]

mysqlのテーブル定義書を作成する際に、非常に役に立つシェルスクリプトを[[こちら:http://ukikusa.info/archives/475]]と[[こちら:http://dqn.sakusakutto.jp/2011/07/mysql-table-html.html]]のサイトで公開して下さっていたので、記載させて頂きます。用途に応じてパターン1、パターン2を使い分けるのが良いと思います。

■パターン1
-下記スクリプト1(1.sh)の~
MYSQL_USER=user~
MYSQL_PASSWD=passwd~
の部分を書き換える

-以下コマンドを実行すると、同一階層に★DB名.htmlが作成される
 $ ./1.sh ★DB名

スクリプト1(1.sh)
 #!/bin/sh
 ## base config
 MYSQL_HOME=mysql
 MYSQL_USER=user
 MYSQL_PASSWD=passwd
  
 CSS_FILE_NAME="style.css"
  
 ## db
 if [ "$1" = "" ]; then
         DB_NAME=mysql
 else
         DB_NAME=$1
 fi
 OUTPUT=$DB_NAME.html
  
 ## table
 MYSQL="$MYSQL_HOME -u $MYSQL_USER -p$MYSQL_PASSWD $DB_NAME"
 TABLES=`echo "show tables;" | $MYSQL -s`
  
 ## export html
 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">" > $OUTPUT
 echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">" >> $OUTPUT
 echo "<head>" >> $OUTPUT
 echo "<title>Mysql DB Document : $DB_NAME</title>" >> $OUTPUT
 echo "<link rel=\"stylesheet\" href=\"$CSS_FILE_NAME\" type=\"text/css\" />" >> $OUTPUT
 echo "</head>" >> $OUTPUT
 echo "<body>" >> $OUTPUT
 echo "<h1>Mysql DB Document : $DB_NAME</h1>" >> $OUTPUT
  
 for TABLE_NAME in $TABLES;
 do
     TABLE_STATUS=(`echo "show table status like '$TABLE_NAME'" | $MYSQL -s`)
     echo "<h3>$TABLE_NAME : ${TABLE_STATUS[18]}</h3>" >> $OUTPUT
     echo "show full columns from $TABLE_NAME;" | $MYSQL -H >> $OUTPUT
 done
  
 echo "</body>" >> $OUTPUT
 echo "</html>" >> $OUTPUT



■パターン2
-下記スクリプト2(2.sh)の~
MYSQL_USER=user~
MYSQL_PASSWD=passwd~
の部分を書き換える

-以下コマンドを実行すると、同一階層に★DB名.htmlが作成される
 $ ./2.sh ★DB名  > ★DB名.html

スクリプト2(2.sh)
 #!/bin/sh
 ## base config
 MYSQL_BIN=mysql
 MYSQL_USER=user
 MYSQL_PASSWD=password
 
 ## dbname
 if [ "$1" = "" ]; then
     echo "no database name"
     exit 1;
 else
     DB_NAME=$1
 fi
 
 
 ## table
 MYSQL="$MYSQL_BIN -u $MYSQL_USER -p$MYSQL_PASSWD $DB_NAME"
 TABLES=`echo "show tables;" | $MYSQL -s`
 
 ## print html
 echo "<html>"
 echo "<head>"
 echo "<title>Mysql DB Document : $DB_NAME</title>"
 echo "</head>"
 echo "<body>"
 echo "<h1>Mysql DB Document : $DB_NAME</h1>"
 
 for TABLE_NAME in $TABLES;
 do
     TABLE_STATUS=(`echo "show table status like '$TABLE_NAME'" | $MYSQL -s`)
     echo "<h3>$TABLE_NAME</h3>"
     echo "show  columns from $TABLE_NAME;" | $MYSQL -H | sed s/\ BORDER=1//
 done
 
 echo "</body>"
 echo "</html>"

リロード   差分 ソース ファイル添付 添付ファイル一覧   Wikiトップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Expert Menu
最新記事
なぜここへ
Yahoo Japanから
検索結果から
友人に聞いて
前からURLを知っていた
他サイトからリンク
最新バージョンの確認

Linuxexpert is one of the service presented by InfomationSquare. / OmakaseBlog Login  |  Register Now!