是否有可能使用WHERE條件備份MySQL表?
例如,
我有一個日期和時間列的表。MySQL備份與WHERE條件
現在我想用date> ='2013-08-01'來備份那張表。
我想到的是將我需要的數據選擇到臨時表中,然後備份臨時表。
有沒有其他辦法?
是否有可能使用WHERE條件備份MySQL表?
例如,
我有一個日期和時間列的表。MySQL備份與WHERE條件
現在我想用date> ='2013-08-01'來備份那張表。
我想到的是將我需要的數據選擇到臨時表中,然後備份臨時表。
有沒有其他辦法?
TRY this :
$db_user = "username";
$db_pass = "password";
exec("mysqldump --opt -u$db_user -p$db_pass --no-create-info --where date >= '2013-08-01' my_database my_table > backup.sql");
是有可能備份MySQL表用WHERE條件
嘗試下面的查詢
select * --specify column name or back up every column
into back_up_table
from table_name
where date >= '2013-08-01'
我知道如何選擇where條件的數據到臨時表,然後備份臨時表。 我需要知道的是,如果有另一種方式,例如mysqldump與哪裏條件。 –
這可能會幫助你試試這個 爲了爲此,您需要將mysqldump.exe和mysql.exe從MySQL bin Program Files文件夾複製到s中ame目錄作爲執行的PHP腳本。如果您知道服務器的直接路徑,則可以使用這些路徑。
// Config
$db_user = "db_username";
$db_pass = "db_pass";
// Dump an entire database
exec("mysqldump --opt -u$db_user -p$db_pass my_database > backup.sql");
// Dump a table
exec("mysqldump --opt -u$db_user -p$db_pass my_database my_table > backup.sql");
// Dump just table rows without structure
exec("mysqldump --opt -u$db_user -p$db_pass --no-create-info my_database my_table > backup.sql");
// Dump just table rows with WHERE clause without structure
exec("mysqldump --opt -u$db_user -p$db_pass --no-create-info --where=id='1' my_database my_table > backup.sql");
// Restoring from .sql file
exec("mysql -u$db_user -p$db_pass my_database < backup.sql");
注意。 exec()函數以mysqldump開頭;例如,如果您不允許從bin文件夾複製兩個必需的文件,則可以將其替換爲C:Program FilesMySQLbinmysqldump.exe。
請參閱此鏈接http://www.it-iss.com/mysql/mysql-mysqldump-where-clause/ – krishna
完美地工作,謝謝! –
不起作用 - 執行進入無限循環。 – user1051505