mysqldump
단일 로 할 수 SQL query
있습니까?
내보내기 할 때 와 마찬가지로 전체 데이터베이스 를 덤프하는 것을 의미 phpmyadmin
합니다.SQL
답변
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"
답변
이 작동합니다
mysqldump --databases X --tables Y --where="1 limit 1000000"
답변
다음과 같이 쿼리를 csv로 덤프 할 수 있습니다.
SELECT * from myTable
INTO OUTFILE '/tmp/querydump.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
답변
where 쿼리를 사용하여 테이블을 덤프하십시오.
mysqldump mydatabase mytable --where="mycolumn = myvalue" --no-create-info > data.sql
전체 테이블을 덤프하십시오.
mysqldump mydatabase mytable > data.sql
노트:
- 교체
mydatabase
,mytable
그리고 원하는 값으로 어디 문. - 기본적 으로 출력에 및 명령문
mysqldump
이 포함됩니다 . 따라서 저장된 데이터 파일에서 복원 할 때 테이블의 모든 데이터를 삭제하지 않으려면 옵션 을 사용해야합니다 .DROP TABLE
CREATE TABLE
--no-create-info
- 원하는 데이터베이스 호스트, 사용자 및 비밀번호를 각각 지정하기 위해 위의 예제 명령에 적절한
-h
,-u
및-p
옵션 을 추가해야 할 수도 있습니다 .
답변
mysqldump에서 –where 옵션을 사용하여 대기중인 출력을 생성 할 수 있습니다.
mysqldump -u root -p test t1 --where="1=1 limit 100" > arquivo.sql
test.t1에서 최대 100 개의 행이 데이터베이스 테이블에서 덤프됩니다.
건배, WB
답변
마지막 n 개의 레코드를 파일로 내보내려면 다음을 실행할 수 있습니다.
mysqldump -u user -p -h localhost --where "1=1 ORDER BY id DESC LIMIT 100" database table > export_file.sql
위의 내용은 내보내는 테이블에 자동 증가 ID 열이 있다고 가정하면 마지막 100 개의 레코드를 export_file.sql에 저장합니다.
사용자, 로컬 호스트, 데이터베이스 및 테이블 값을 변경해야합니다. 선택적으로 id 열과 내보내기 파일 이름을 변경할 수 있습니다.