Skip to content

Instantly share code, notes, and snippets.

@c00kiemon5ter
Created January 1, 2017 23:13
Show Gist options
  • Save c00kiemon5ter/17970db4971293e860e9498a6593339a to your computer and use it in GitHub Desktop.
Save c00kiemon5ter/17970db4971293e860e9498a6593339a to your computer and use it in GitHub Desktop.
#!/bin/sh
: "${dbname:="foodb"}"
: "${dumpdir:="./tables"}"
dbuser=root
dbpass=root
mkdir -p "$dumpdir"
mysqldump -u"$dbuser" \
--tab="$dumpdir" --fields-terminated-by=, --fields-enclosed-by='"' \
--lines-terminated-by=0x0d0a \
--skip-triggers --skip-dump-date --no-create-info \
"$dbname"
for file in "$dumpdir"/*.txt
do
f="${file##*/}"
f="${f%.txt}"
head="$(mysql -u"$dbuser" "$dbname" -e "SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE table_name = '${f}';" \
| tail -n+2 \
| xargs \
| tr ' ' ','
)"
(printf -- '%s\n' "$head"; cat "$file";) > "${dumpdir}/${f}.csv"
rm -f "$file"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment