#!/bin/bash

#@author:feiyuanxing 【既然笨到家,就要努力到家】

#@date:2017-12-05

#@E-Mail:feiyuanxing@gmail.com

#@TARGET:一键导出mysql数据到 csv

#@CopyRight:本脚本遵守 未来星开源协议(http://feiyuanxing.com/kaiyuanxieyi/kaiyuanxieyi.html)

#####################################################################################

#### 常量池 ####

IP=127.0.0.1

user=root

database=msyql

passwd=root

port=3306

#导出路径,默认取【费元星版权Q:9715234】当前路径下tmp

basepath=$(cd `dirname $0`; pwd)

data_path=${basepath}/tmp

mkdir -p ${data_path} && cd ${data_path}

#编码

unicode=utf8

#分隔符

separator="|"

#转【费元星版权Q:9715234】义符- 谨记注:能不该不要改

escape_character="\\"

#####################################################################################

MYSQL=`which mysql`

istar=

function baktable(){

statement="use $database;set names ${unicode};select * from $1;"

echo "下载转换$database:$1 ..."

$MYSQL -h"${IP}" -u"${user}" -p"${passwd}" -P"${port}" -e "${statement}" > 1.log

cat 1.log|sed 's/\t/|/g' > $database"_"$1.csv

if [ ""x = ${istar}x ]; then

tar -zcf "$database"_"$1.csv.tar.gz" "$database"_"$1.csv"

rm -rf $database"_"$1.csv

fi

}

function main(){

#show databases in mysql

echo "正在导出库:$database"

if [ -z $database ] ; then

echo "database in mysql:"

echo "*******************"

$MYSQL -h"${IP}" -u"${user}" -p"${passwd}" -P"${port}" -e "set names ${unicode};show databases;"

echo "*******************"

#choose a database

read -t 60 -p "您未定义需要导出的数据库,请在上表选择一个数据库:" database

fi

#show tables in the database

database_tables=`$MYSQL -h"${IP}" -u"${user}" -p"${passwd}" -P"${port}" -e "use ${database};show tables;"`

#echo "test:"$MYSQL -h"${IP}" -u"${user}" -p"${passwd}" -P"${port}" -e "use ${database};show tables;"

echo "*******************"

#choose a table

read -t 60 -p "请选择一个表,默认为导出全部表【点击回车】:" table

read -t 60 -p "是否需要压缩,默认压缩【点击回车】:" istar

if [ -z $table ] ; then

tables_tmp=`echo "${database_tables}" |tail -n +3|sed 's/^[ \t|]*//g' `

for line in `echo ${tables_tmp}`

do

#echo "正在导出表:${line} "

baktable ${line}

done

#baktable

else

baktable ${table}

fi

}

main

#baktable tb_company_base

echo "【费元星版权Q:9715234】Done successfully!Please check the file!"

mysql shell 回车换行_【shell mysql 导出数据到csv脚本,完美解决乱码转义符等问题】-费元星...相关推荐

  1. php 导出mysql 数据库表结构图_导入和导出数据表的图文介绍(phpMyAdmin的使用教程5)...

    导入和导出数据表的图文介绍(phpMyAdmin的使用教程5) 导入和导出数据是互逆的两个操作,导入数据是通过扩展名为.sql的文件导入到数据库中,导出数据是将数据表结构,表记录储存为.sql的文件, ...

  2. mysql 命令行 换行_在MySQL命令行中使用SQL语句的规则

    规则1: SQL语句必须以分号(;)或者(\G)结束 分号(;)是SQL语句的结束标志.如果遗忘了分号,而直接按下回车键时,在MySQL客户端上将显示如下 mySQL> SELECT * FRO ...

  3. python脱离pc自动化_我用几行 Python 自动化脚本完美解决掉了小姐姐的微信焦虑感...

    转载自:AirPython 1. 场景 前几天,有一个小姐姐私聊我,说她每次打开微信,界面上密密麻麻的红点提示让她很惆怅,每一条消息她都要一条条去点击,太费时间且焦虑了 本篇文章将以之前聊过的 UiA ...

  4. mysql mysqldump只导出表结构或只导出数据的实现方法

    mysql mysqldump只导出表结构或只导出数据的实现方法,需要的朋友可以参考下. mysql mysqldump 只导出表结构 不导出数据 代码如下: mysqldump --opt -d 数 ...

  5. MySQL导出数据遇到secure-file-priv问题的解决方法

    这篇文章主要为大家详细介绍了MySQL导出数据遇到secure-file-priv问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ERROR 1290 (HY000): The My ...

  6. MySQL导出数据为csv的方法

    MySQL导出数据为csv的方法 将数据库中的数据导出成csv格式的文件 CSV格式,其要点包括: (1)字段之间以逗号分隔,数据行之间以\r\n分隔: (2)字符串以半角双引号包围,字符串本身的双引 ...

  7. php导出数据到csv文件,php导出CSV文件代码 PHP导出数据到CSV 如何排版

    如何使用PHP导出csv和excel文件你走后,再也没有一个声音能让我在人海中突然回首张望. 把Excel文件导入mysql: 打开excel文件,可用phpExcel开源的类 或者: 先把excel ...

  8. sqlplus导出oracle数据,Oracle SQLPlus导出数据到csv文件的方法

    这篇文章主要介绍了Oracle SQLPlus导出数据到csv文件,需要的朋友可以参考下 时不时地我们需要导出一些数据用作备份.查看报表等,如果用Sql Developer导出会非常慢.而用SqlPl ...

  9. Neo4J入门笔记[2]---导出数据为CSV

    在上一节<Neo4J入门笔记[1]-安装以及Cypher基本语法> 笔者主要分享了Neo4J的安装已经常用的命令.这个章节笔者分享从Neo4j里面导出数据到CSV.一个简单的方法,就是调用 ...

最新文章

  1. spoolsv.exe占CPU100% 的解决方法
  2. 光电转换模块_光纤模块和光纤收发器连接时要注意什么?
  3. 客户端与服务器cookie
  4. nrf51822-提高nordic ble数据发送速率
  5. java: 十六进制转八进制
  6. oracle动态采样超时,解决 ORACLE 11.2 动态采样导致的性能问题
  7. .NET平台微服务项目汇集
  8. imap服务器appleimap.163.com没有响应,163smtp
  9. C# 开发 Windows 服务 使用Log4net 组件 不能生成日志文件
  10. mysql 取字符串首字母_MySQL通过函数获取字符串汉字拼音首字母大写字符串
  11. PHP下简单交换两个变量
  12. 如何计算代码运行的时间?
  13. 音轨分离软件 Spleeter 使用教程及踩过的坑
  14. SpringBoot微信公众号开发
  15. 远控木马分析(实习生)
  16. 最简单播放m3u8链接的方法
  17. 苹果商店打不开怎么办_苹果手机下载迅雷方法,iOS迅雷安装,怎么安装苹果版迅雷...
  18. Linux系统ARM32(64位不同)体系内存分页(ARM没段寄存器,分页内存内核和进程共用一套,页目录基址是CP15 C2控制的TTBR0,没用TTBR1,二级表基址alloc获取
  19. MVTec AD—A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection 2019 CVPR
  20. 世界互联网大会“互联网之光”博览会-蚂蚁金服展台掠影

热门文章

  1. js eval()函数
  2. 微信 python 2020_2020年最新的Python操控微信教程
  3. java主类型_Java主类结构:基本数据类型
  4. 巡回沙龙_美浮特全国巡回沙龙第一期结束撒花!
  5. android仿高德地图透明黑字,Android 仿高德地图可拉伸的BottomSheet
  6. 操作系统上机作业-- 使用信号量解决生产者、计算者、消费者问题(多线程)
  7. 160 - 9 Andrnalin.2
  8. 《MySQL——加锁规则(待补全,有些没看懂)》
  9. 智能车复工日记【N】:图像处理——环岛debug记录(持续更新)
  10. javascript 排序_JavaScript中的排序方法