복붙노트

[SQL] 쿼리에 의해 덤프 MYSQL

SQL

쿼리에 의해 덤프 MYSQL

그것은 하나의 SQL 쿼리에 의해 mysqldump를 할 수 있습니까?

phpMyAdmin을이하는 것처럼 당신이 SQL로 내보내기를 할 때 나는, 전체 데이터베이스를 덤프 의미

해결법

  1. ==============================

    1.mysqldump에 아니지만, MySQL의 CLI ...

    mysqldump에 아니지만, MySQL의 CLI ...

    mysql -e "select * from myTable" -u myuser -pxxxxxxxxx mydatabase
    

    당신이 원하는 경우에 당신은 파일로를 리디렉션 할 수 있습니다 :

    mysql -e "select * from myTable" -u myuser -pxxxxxxxx mydatabase > mydumpfile.txt
    

    최신 정보: 그는 쿼리 데이터베이스에서 덤프 수 있다면 원래의 게시물 물었다. 그가 물었다 그가 의미하는 것은 달랐다. 그는 정말 모든 테이블을 mysqldump에 싶었다.

    mysqldump --tables myTable --where="id < 1000"
    
  2. ==============================

    2.이 작업을해야합니다

    이 작업을해야합니다

    mysqldump --databases X --tables Y --where="1 limit 1000000"
    
  3. ==============================

    3.이 같은 CSV로 쿼리를 덤프 할 수 있습니다 :

    이 같은 CSV로 쿼리를 덤프 할 수 있습니다 :

    SELECT * from myTable
    INTO OUTFILE '/tmp/querydump.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    
  4. ==============================

    4.곳 쿼리를 사용하여 테이블을 덤프 :

    곳 쿼리를 사용하여 테이블을 덤프 :

    mysqldump mydatabase mytable --where="mycolumn = myvalue" --no-create-info > data.sql
    

    전체 테이블을 덤프 :

    mysqldump mydatabase mytable > data.sql
    

    노트:

  5. ==============================

    5.당신은 당신을 기다리고 있다는 출력을 생성하는 mysqldump는에 --where 옵션을 사용할 수 있습니다 :

    당신은 당신을 기다리고 있다는 출력을 생성하는 mysqldump는에 --where 옵션을 사용할 수 있습니다 :

    mysqldump -u root -p test t1 --where="1=1 limit 100" > arquivo.sql
    

    test.t1에서 최대 100 개의 행은 데이터베이스 테이블에서 덤프됩니다.

    건배, WB

  6. ==============================

    6.당신이 파일에 기록의 마지막 n 개의 양을 내보내려면 다음을 실행할 수 있습니다 :

    당신이 파일에 기록의 마지막 n 개의 양을 내보내려면 다음을 실행할 수 있습니다 :

    mysqldump -u user -p -h localhost --where "1=1 ORDER BY id DESC LIMIT 100" database table > export_file.sql
    

    위는 당신이에서 내보내는 테이블이 자동 증가 ID 열이있는 가정, export_file.sql에 마지막 100 개 개의 레코드를 저장합니다.

    당신은 사용자, 로컬 호스트, 데이터베이스 및 테이블 값을 변경해야합니다. 선택적으로 id 컬럼 및 수출 파일 이름을 변경할 수 있습니다.

  7. ==============================

    7.MySQL의 워크 벤치는 또한 GUI 깔끔하게이 기능이 있습니다. 단순히 쿼리를 실행, 다음 내보내기 / 가져 오기에 아이콘 저장을 클릭합니다 :

    MySQL의 워크 벤치는 또한 GUI 깔끔하게이 기능이 있습니다. 단순히 쿼리를 실행, 다음 내보내기 / 가져 오기에 아이콘 저장을 클릭합니다 :

    그런 다음 목록에서 "SQL INSERT 문 (* .SQL)"을 선택합니다.

    저장을 클릭의 이름을 입력 테이블 이름을 확인하고 당신은 당신의 덤프 파일이있을 것이다.

  8. ==============================

    8.많은 여기에 위의 결합하면 meterid 및 타임 스탬프 모두를 기반으로 레코드를 선택, 내 진짜 실제적인 예이다. 나는 몇 년 동안이 명령을 필요로했다. 정말 빠르게 실행합니다.

    많은 여기에 위의 결합하면 meterid 및 타임 스탬프 모두를 기반으로 레코드를 선택, 내 진짜 실제적인 예이다. 나는 몇 년 동안이 명령을 필요로했다. 정말 빠르게 실행합니다.

    mysqldump -uuser -ppassword main_dbo trHourly --where="MeterID =5406 AND TIMESTAMP<'2014-10-13 05:00:00'" --no-create-info --skip-extended-insert | grep  '^INSERT' > 5406.sql
    
  9. ==============================

    9.mysql을 내보내기 쿼리 결과 명령 행 :

    mysql을 내보내기 쿼리 결과 명령 행 :

    mysql -h120.26.133.63 -umiyadb -proot123 miya -e "select * from user where id=1" > mydumpfile.txt
    
  10. from https://stackoverflow.com/questions/935556/mysql-dump-by-query by cc-by-sa and MIT license