SQL笔记-导出/备份数据库结构+数据

Oracle

导出所有数据库结构和数据

exp userid=username/password file=d:\backup\alldb.dmp log=d:\backup\alldb.log full=y

结果: 将所有数据库的结构和数据导出到d:\backup\alldb.dmp文件中

导出单个数据库结构和数据

exp userid=username/password file=d:\backup\db1.dmp log=d:\backup\db1.log owner=db1

结果: 将数据库"db1"的结构和数据导出到d:\backup\db1.dmp文件中

导出多个数据库结构和数据

exp userid=username/password file=d:\backup\db1.dmp,d:\backup\db2.dmp log=d:\backup\alldb.log owner=db1,db2

结果: 将数据库"db1"和"db2"的结构和数据分别导出到d:\backup\db1.dmp和d:\backup\db2.dmp文件中

导出所有表结构和数据

exp userid=username/password file=d:\backup\alltables.dmp log=d:\backup\alltables.log tables=* buffer=102400

结果: 将所有表的结构和数据导出到d:\backup\alltables.dmp文件中

导出单个表结构和数据

exp userid=username/password file=d:\backup\db1_table1.dmp log=d:\backup\db1_table1.log tables=db1.table1

结果: 将数据库"db1"中的表"table1"的结构和数据导出到d:\backup\db1_table1.dmp文件中

导出多个表结构和数据

exp userid=username/password file=d:\backup\db1_table1.dmp,d:\backup\db2_table2.dmp log=d:\backup\alltables.log tables=(db1.table1,db2.table2)

结果: 将数据库"db1"中的表"table1"和数据库"db2"中的表"table2"的结构和数据分别导出到d:\backup\db1_table1.dmp和d:\backup\db2_table2.dmp文件中

MySQL

导出所有数据库结构和数据

mysqldump -u username -p --all-databases > d:\backup\alldb.sql

结果: 将所有数据库的结构和数据导出到d:\backup\alldb.sql文件中

导出单个数据库结构和数据

mysqldump -u username -p db1 > d:\backup\db1.sql

结果: 将数据库"db1"的结构和数据导出到d:\backup\db1.sql文件中

导出多个数据库结构和数据

mysqldump -u username -p --databases db1 db2 > d:\backup\alldb.sql

结果: 将数据库"db1"和"db2"的结构和数据导出到d:\backup\alldb.sql文件中

导出所有表结构和数据

mysqldump -u username -p --all-tables > d:\backup\alltables.sql

结果: 将所有表的结构和数据导出到d:\backup\alltables.sql文件中

导出单个表结构和数据

mysqldump -u username -p db1 table1 > d:\backup\db1_table1.sql

结果: 将数据库"db1"中的表"table1"的结构和数据导出到d:\backup\db1_table1.sql文件中

导出多个表结构和数据

mysqldump -u username -p --tables db1.table1 db2.table2 > d:\backup\alltables.sql

结果: 将数据库"db1"中的表"table1"和数据库"db2"中的表"table2"的结构和数据导出到d:\backup\alltables.sql文件中

SQL Server

导出所有数据库结构和数据

sqlcmd -S . -U username -P password -Q "EXEC sp_MSforeachdb 'BACKUP DATABASE [?] TO DISK = ''d:\backup\?_full.bak'' WITH INIT, FORMAT'"

结果: 将所有数据库的结构和数据分别备份到d:\backup\下以数据库名为名的.bak文件中

导出单个数据库结构和数据

sqlcmd -S . -U username -P password -Q "BACKUP DATABASE db1 TO DISK = 'd:\backup\db1_full.bak' WITH INIT, FORMAT'"

结果: 将数据库"db1"的结构和数据备份到d:\backup\db1_full.bak文件中

导出多个数据库结构和数据

sqlcmd -S . -U username -P password -Q "BACKUP DATABASE db1 TO DISK = 'd:\backup\db1_full.bak' WITH INIT, FORMAT'; BACKUP DATABASE db2 TO DISK = 'd:\backup\db2_full.bak' WITH INIT, FORMAT'"

结果: 将数据库"db1"和"db2"的结构和数据分别备份到d:\backup\db1_full.bak和d:\backup\db2_full.bak文件中

导出所有表结构和数据

bcp "SELECT * FROM sys.tables" queryout d:\backup\alltables.txt -c -T

结果: 将所有表的结构和数据导出到d:\backup\alltables.txt文件中

导出单个表结构和数据

bcp "SELECT * FROM db1.table1" queryout d:\backup\db1_table1.txt -c -T

结果: 将数据库"db1"中的表"table1"的结构和数据导出到d:\backup\db1_table1.txt文件中

导出多个表结构和数据

bcp "SELECT * FROM db1.table1 UNION ALL SELECT * FROM db2.table2" queryout d:\backup\alltables.txt -c -T

结果: 将数据库"db1"中的表"table1"和数据库"db2"中的表"table2"的结构和数据导出到d:\backup\alltables.txt文件中

PostGreSQL

导出所有数据库结构和数据

pg_dumpall > d:\backup\alldb.sql

结果: 将所有数据库的结构和数据导出到d:\backup\alldb.sql文件中

导出单个数据库结构和数据

pg_dump -U username -d db1 -f d:\backup\db1.sql

结果: 将数据库"db1"的结构和数据导出到d:\backup\db1.sql文件中

导出多个数据库结构和数据

pg_dump -U username -d db1 -f d:\backup\db1.sql; pg_dump -U username -d db2 -f d:\backup\db2.sql

结果: 将数据库"db1"和"db2"的结构和数据分别导出到d:\backup\db1.sql和d:\backup\db2.sql文件中

导出所有表结构和数据

pg_dump -U username -a -t "*" -f d:\backup\alltables.sql

结果: 将所有表的结构和数据导出到d:\backup\alltables.sql文件中

导出单个表结构和数据

pg_dump -U username -a -t db1.table1 -f d:\backup\db1_table1.sql

结果: 将数据库"db1"中的表"table1"的结构和数据导出到d:\backup\db1_table1.sql文件中

导出多个表结构和数据

pg_dump -U username -a -t db1.table1 -t db2.table2 -f d:\backup\alltables.sql

结果: 将数据库"db1"中的表"table1"和数据库"db2"中的表"table2"的结构和数据导出到d:\backup\alltables.sql文件中

你可能感兴趣的:(数据库,数据库,sql,笔记)