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.pswp.cn/news/385912.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385912.shtml
英文地址,請注明出處:http://en.pswp.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的源碼學習,似乎只是為了面試吹逼用,我大概問過一些…