development

테이블의 일부에 mysqldump를 사용하는 방법은 무엇입니까?

big-blog 2020. 12. 11. 19:05
반응형

테이블의 일부에 mysqldump를 사용하는 방법은 무엇입니까?


따라서 다음과 같은 테이블 만 내보낼 수 있습니다.

mysqldump -u root -p db_name table_name > table_name.sql

mysqldump를 사용하여 테이블의 일부만 내보내는 방법이 있습니까? 예 : 0-1,000,000 행, 1,000,000-2,000,000 행 등

mysqldump 또는 쿼리로 이를 수행해야합니까 ?


mysqldump -uroot -p db_name table_name --where='id<1000000'

또는 사용할 수 있습니다

SELECT * INTO OUTFILE 'data_path.sql' from table where id<100000

mysqldump --skip-triggers --compact --no-create-info --user=USER --password=PASSWORD -B DATABASE --tables MY_TABLE --where='SOME_COLUMN>=xxxx' > out.sql

덤프 된 파일은 SQL select를 사용하는 파일과 다릅니다. 두 번째 접근 방식에서는 mysql database <table을 사용하여 테이블을 데이터베이스로 덤프 할 수 없습니다.


제 경우에는 이것을 실행했습니다.

SELECT * 
  INTO OUTFILE 'C:\Documents and Settings\Anton.Zarkov\Desktop\joomla_export\data_AZ.sql'
  FROM `jos_glossary`
 WHERE id>6000
  • 구문 오류가 없습니다. 쿼리가 통과됩니다.
    1. 결과는 NULL-기록 된 행이 없습니다. (확실합니다-마지막 ID는 6458입니다)
    2. 쿼리를 반복하면n error occurs => #1086 - File 'C:Documents and SettingsAnton.ZarkovDesktopjoomla_exportdata_AZ.sql' already exists
    3. 불행히도 디스크 C에서 "기존"파일을 찾을 수 없습니다. 어디에 있습니까?

조건은 다음과 같습니다. phpMyAdmin SQL Dump; 버전 3.4.5; 호스트 : localhost; 서버 버전 : 5.5.16; PHP 버전 : 5.3.8


mysqldump -uroot -p db_name table_name --where'id<1000000' > yourdumpname.sql

쿼리 ID 범위에서 선택하는 것입니다 아래 당신이 사용할 수있는 DATE_CREATED 또는 대신의 ID

mysqldump --opt --host=dns --user=user_name --password=your_passwd db_name --tables table_name  --where "id > 1 and id < 100 " > /file_name.sql

예 : --where="date_created > '2019-01-18' "-> insted of id

참고 URL : https://stackoverflow.com/questions/5658284/how-to-use-mysqldump-for-a-portion-of-a-table

반응형