shell导出mysql数据库表结构

工作中有遇到,需要批量操作一些sql语句的地方。
比如,让我把一个库的表结构导出来。
mysql有命令支持这个功能:

mysqldump --opt -d xxxxx -uxxxx -pxxxx > /opt/chargegateway.sql

但是工作中的数据库对这个指令支持不是很好。
so使用脚本批量执行了show create table

这里只要是想记录下需要使用<

< <用法

当shell看到< <的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行),再返回到主调Shell。
这个分界符可以是你所定义的任何字符串,一般标准用EOF,用别的字符串也是同样功效。

所以在脚本里可以< <和EOF配合使用,处理那些需要先进入命令行下,再输入命令的脚本操作。比如,先连接mysql,在执行一系列批量的建表,导出表的语句操作。

#!/bin/sh 
for line in `cat tablefile` 
do   
  echo $line  
  mysql -hxx.xx.xx.xx -P3306 -uxxxx -p8650b9d5E8 -Dxxxx <

执行脚本从tablefile文件中读出所有表,循环执行,导出建表语句。

你可能感兴趣的:(shell导出mysql数据库表结构)