Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zrzuć wszystkie tabele w formacie CSV, używając „mysqldump”

Po pierwsze, mogę udzielić Ci odpowiedzi na jeden tabela:

Kłopot z tymi wszystkimi INTO OUTFILE lub --tab=tmpfile (i -T/path/to/directory ) odpowiada, że ​​wymaga uruchomienia mysqldump na tym samym serwerze jako serwer MySQL i posiadanie tych praw dostępu.

Moim rozwiązaniem było po prostu użycie mysql (nie mysqldump ) z -B parametr, wstaw instrukcję SELECT z -e , a następnie masuj wyjście ASCII za pomocą sed i zakończ z plikiem CSV zawierającym wiersz pola nagłówka:

Przykład:

 mysql -B -u username -p password database -h dbhost -e "SELECT * FROM accounts;" \
 | sed "s/\"/\"\"/g;s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g"

"id","login","hasło","folder","e-mail""8","mariana","xxxxxxxxxx","mariana","""3","squaredesign","xxxxxxxxxxxxxxxxxx"," squaredesign","[email protected] ""4","miedziak","xxxxxxxxxx","miedziak","przykład@sqldat .com ""5","Sarko","xxxxxxxxx","Sarko","""6","LogitransPoland","xxxxxxxxxxxxxx","LogitransPoland","""7","Amos","xxxxxxxxxxxxxxxxxxxxx"," Amos","""9","Annabelle","xxxxxxxxxxxxxxxx","Annabelle","""11","Brandfathers andSons","xxxxxxxxxxxxxxxxxx","BrandfathersAndSons","""12","ImagineGroup", "xxxxxxxxxxxxxxxx","ImagineGroup","""13","EduSquare.pl","xxxxxxxxxxxxxxxxx","EduSquare.pl","""101","tmp","xxxxxxxxxxxxxxxxxxxxx","_","

Dodaj plik > outfile.csv na końcu tego jednolinijki, aby pobrać plik CSV dla tej tabeli.

Następnie pobierz listę wszystkich Twoje stoły z

mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"

Stamtąd już tylko jeden krok, aby utworzyć pętlę, na przykład w powłoce Bash, aby iterować po tych tabelach:

 for tb in $(mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"); do
     echo .....;
 done

Między do i ; done wstaw długie polecenie, które napisałem w części 1 powyżej, ale zastąp swoją nazwę tabeli $tb zamiast tego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Paginacja PHP i MySQL

  2. Jak działa funkcja MATCH() w MySQL

  3. Kolejność MySQL według najlepszego dopasowania

  4. Dlaczego warunek IN miałby być wolniejszy niż =w sql?

  5. Co nowego w ProxySQL 2.0