mysql数据库提取语句_shell 提取mysql指定数据库下表创建语句为单文件

dbcn="mysql -h172.16.1.194 -uroot -p123456";

db=dsp_ad_center;

ii=0;

ct=`$dbcn -N -e " SELECT COUNT(1) FROM information_schema.TABLES AS t WHERE t.TABLE_SCHEMA = '$db' AND t.TABLE_TYPE = 'BASE TABLE' ; "`;

mkdir -p /chenenhui/$db

while true;

do

if [ $ii -lt $ct ]

then

p=$ii;

let ii++;

echo p=$p

echo ii=$ii

table_name=`$dbcn -N -e " SELECT CONCAT( t.TABLE_SCHEMA,'.',t.TABLE_NAME ) FROM information_schema.TABLES AS t where t.TABLE_SCHEMA = '$db' AND t.TABLE_TYPE = 'BASE TABLE' limit $p,1;"`;

echo table_name=$table_name

sleep 0;

ss=`$dbcn -N -e "SHOW CREATE TABLE $table_name ;"`

echo -e "$ss" > /chenenhui/$db/create_table_help.tsv

`$dbcn -e " CREATE TABLE IF NOT EXISTS test.create_table_help

( table_name VARCHAR(1500) DEFAULT '',

table_script VARCHAR(1500) DEFAULT '',

xh INT AUTO_INCREMENT,PRIMARY KEY(xh)

) CHARSET = utf8 ;

truncate table test.create_table_help;

LOAD DATA LOCAL INFILE '//chenenhui//$db//create_table_help.tsv' INTO TABLE test.create_table_help CHARACTER SET utf8;"`

ss_script=`$dbcn -N -e "SELECT concat(CASE WHEN xh = 1 THEN concat('USE ','$db;',char(10) ) ELSE table_name END , table_script ) FROM test.create_table_help ;"`

echo -e "$ss_script" > /chenenhui/$db/$table_name.sql

echo ";" >> /chenenhui/$db/$table_name.sql

echo $table_name

else

echo '_while finished';

rm /chenenhui/$db/create_table_help.tsv

`$dbcn -N -e "DROP TABLE IF EXISTS test.create_table_help;"`

exit 0;

fi

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值