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

#!/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!"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java小游戏源代码资源,一招彻底弄懂!

BATJ大厂面经 阿里七面面经 蚂蚁金服面经及答案 京东面经 百度美团顺丰京东阿里面经 面试题精选 Java面试手册 MySQL55题及答案 多线程面试题及答案 设计模式面试题及答案 消息中间件面试题及答案 并发编程面试题及答案 面试资料整理汇总 最后 总而言之,面试官问…

python学法用法 自动刷分器_Python selenium模拟手动操作实现无人值守刷积分功能...

def DaTi(): driver.get(url https://pc.xuexi.cn/points/exam-practice.html) elem_juje WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,//div[class"q-header"]))) juje elem_juje.get_attribute(innerText) # 在每日答题中&#…

java小程序小游戏代码贪吃蛇,附高频面试题合集

One:JVM实践思维图(完整版) Two: 走近Java 概述 Java技术体系Java发展史Java虚拟机家族:(Sun Classic/Exact VM、HotSpot VM、Mobile/Embedded VM、BEA JRockit/IBM J9 VM、BEA Liquid VM/Azul VM、Apache…

mysql创建存储时覆盖_总结到位的MySQL 的覆盖索引与回表

两大类索引使用的存储引擎:MySQL5.7 InnoDB聚簇索引* 如果表设置了主键,则主键就是聚簇索引* 如果表没有主键,则会默认第一个NOT NULL,且唯一(UNIQUE)的列作为聚簇索引* 以上都没有,则会默认创建一个隐藏的row_id作为聚…

java小程序开发平台,隔壁都馋哭了

01 阿里面试题之MySQL 之前的阿里面试题都有做总结,具体面试题内容整理成了文档,本文是针对MySQL系列的,所以下面只展示了自己第一次面试阿里时被吊打问到的一些MySQL难题 请解释关系型数据库概念及主要特点?请说出关系型数据库…

java小程序查看器,成功拿到offer

架构筑基 大家都知道,性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,如果想成为一名优秀的架构师,性能优化就是你必须思考的问题。 所以性能优化专题从JVM底层原理到内存优化再到各个中间件…

java小程序设计一个国旗点击国旗唱国歌,看这篇足矣了!

工作的前两年 如果你不能拼爹,或者不想拼爹,最好的方法是拼实力。 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 所以,你必须要从基层做起。当然,所谓的基…

java client_java中HttpClient的使用

HttpClient的使用步骤:1、使用Apache的HttpClient发送GET和POST请求的步骤如下:1. 使用帮助类HttpClients创建CloseableHttpClient对象. 2. 基于要发送的HTTP请求类型创建HttpGet或者HttpPost实例.3. 使用addHeader方法添加请求头部,诸如User-Agent, Accept-Encodin…

java小项目实例,成功入职阿里

我听到的一些发声 你们赚的钱已经可以了: 我一个发小是做土木工程的,上海大学博士,参与很多著名建筑的工程,但是从薪资上看,还不如一些稍微像样的公司的6年多的高级开发。为什么?这就是行业的红利&#xf…

java属于什么行业,吐血整理

微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。 微服务落地存在的问题 虽…

java struts2 ajax_在struts2的Action中返回Ajax数据

author:z_xiaofei168如何在struts2的action中返回数据(普通字符串、图片)给ajax核心中的XMLHttpRequest对象。今天下午做项目,就是用户注册是时候,登录名是否唯一,我用的ajax验证,但怎么也不返回我想要的数据,纠结了老…

Nginx负载均衡策略有哪些?知识点总结+面试题解析

前言 看日期,今天都是4月了,这春招也差不多进入尾声了。 近期任有不少朋友都在找工作,很多人开始抱怨,工作可真难找啊!身边不少朋友问我咋搞呀,秋招都要结束了,工作还没着落呢…额…这个…今年…

java bean jsp_JavaBean与Jsp

这一节我们总结一下JavaBean和Jsp的关系。1. JavaBeanjavaBean是一个遵循特定写法的Java类,它通常具有如下特点:1)这个java类必须具有一个无参构造函数;2)属性必须私有化;3)私有化的属性必须通过public类型的方法暴露给其他程序&a…

P8级别的顶级“并发编程”宝典,最全指南

前言 前几天我上班路上,和小区门口开车的师傅闲聊,发现他们虽然学历不高,但挣钱的途径不少,比如固定接送多位客户,然后能通过朋友圈拓展新客户,而且通过客户口口相传,也能不断拉到生意&#xf…

java 追加写入txt文件_ava如何追加写入txt文件

(二)方法1public void method1() {FileWriter fw null;try {//如果文件存在,则追加内容;如果文件不存在,则创建文件File fnew File("E:\dd.txt");fw new FileWriter(f, true);} catch (IOException e) {e.printStackTrace();}Pri…

Redis宕机数据丢失解决方案,不吃透都对不起自己

前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了。 她又不紧不慢的问,索引为什么就能提高查询性能。 这还用问,索引…

c 加密 java解密错误_java解密出错

展开全部你那个代码少得东西太多,我左试右试,都是错,也不知道你的初始32313133353236313431303231363533e78988e69d8331333332613762值都是什么。给你写了一个加密解密的,希望对你有帮助。import java.security.NoSuchAlgorithmEx…

Redis成神之路电子版教程已问世,面试题+笔记+项目实战

前言 我想对所有程序员说:除了看视频、做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!(本文内提到的书单笔者整理出了一份电子档作为分享,文末有免费获取方式…

java 中的event_Java中this与event有什么不同

Java中this与event有什么不同发布时间:2021-02-11 10:37:25来源:亿速云阅读:61作者:LeahJava中this与event有什么不同?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法&#xff…

Redis有几种数据类型?文末领取面试资料

前言 其实前几篇文章已经写了好多有关于Spring源码的文章,事实上,很多同学虽然一直在跟着阅读、学习这些Spring的源码教程,但是一直都很迷茫,这些Spring的源码学习,似乎只是为了面试吹逼用,我大概问过一些…