在数据库中,“Column(列)”级别的备份通常不是所有数据库都原生直接支持的,因为大多数数据库备份是以表、Schema 或整个数据库为单位的。但如果你只想备份某些列(字段),可以用以下几种常见方法:
SELECT ... INTO / INSERT ... SELECT把指定列导出到新表或文件。
MySQL / PostgreSQL / SQL Server 通用思路
CREATE TABLE backup_table AS
SELECT col1, col2, col3
FROM original_table;
mysqldump -u user -p dbname \
--no-create-info \
original_table \
--where="1=1" > backup.sql
⚠️ mysqldump 不支持只导部分列,需配合 SELECT 先建视图:
CREATE VIEW v_backup AS
SELECT col1, col2 FROM original_table;
再导视图。
pg_dump -t view_backup dbname > backup.sql
bcp "SELECT col1, col2 FROM db.dbo.table" \
queryout backup.txt -c -T
SELECT col1, col2
INTO OUTFILE '/tmp/backup.csv'
FROM original_table;
COPY (
SELECT col1, col2 FROM original_table
) TO '/tmp/backup.csv' CSV;
SELECT col1, col2
INTO OUTFILE 'backup.csv'
FROM original_table;
| 需求 | 推荐方式 |
|---|---|
| 只备份几列 | SELECT + 导出文件 |
| 定期自动 | 视图 + 定时任务 |
| 可恢复性高 | 逻辑备份(SQL) |
| 超大数据量 | bcp / COPY |
如果你能告诉我:
我可以给你一套可直接用的备份脚本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。