我有一个要求,我必须只对表的一列进行 mysql 转储。由于该表的列太多,我不想转储整个表。我必须将这个表的转储从一台服务器转移到另一台服务器。知道我该怎么做吗?
问问题
36333 次
3 回答
20
如果您想获取包含架构的 mysql 转储,可以按照以下步骤完成:
创建一个临时表:
create table temp_table like name_of_the_original_table;
将数据复制到 temp_table 中:
insert into temp_table select * from name_of_the_original_table;
删除不必要的字段:
alter table temp_table drop column somecolumn;
发布这个,你可以通过运行来获取 mysqldump:
mysqldump -u <username> -p <password> databasename temp_table
如果打算进行数据转储(没有架构),您可以运行以下命令:
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
于 2015-07-07T07:12:21.793 回答
9
mysql> CREATE TABLE `tempTable` AS SELECT `columnYouWant` from `table`;
$> mysqldump yourDB tempTable > temp.sql
将 temp.sql 复制到目标服务器,然后在目标服务器上
$> mysql yourDB < temp.sql
mysql> RENAME TABLE `table` TO `tableBackup`, `tempTable` TO `table`;
于 2017-09-27T17:59:11.913 回答
8
选择列成文件?
Select col from table into outfile 'fileame'
于 2013-03-07T06:34:05.393 回答