
各数据库软件导出的方法不一样
比如oracle,ms sql server,db2,自己在菜单里找吧……
mysql的话,也有很多工具可以做,比如EMS SQL Manager
总之,baidu一下相应的关键字:
“oracle 导出数据库”
“db2 导出数据库”
“sql server 导出数据库”
“mysql 导出数据库”
1、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。
2、设置deferred_segment_creation参数为FALSE后,无论是空表还是非空表,都分配segment。
在sqlplus中,执行如下命令:
SQL>altersystemsetdeferred_segment_creation=false;
查看:
SQL>showparameterdeferred_segment_creation;
该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。
3、可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题。说明如下:
31使用ALLOCATEEXTENT的说明
使用ALLOCATEEXTENT可以为数据库对象分配Extent。其语法如下:
-----------
ALLOCATEEXTENT{SIZEinteger[K|M]|DATAFILE'filename'|INSTANCEinteger}
-----------
可以针对数据表、索引、物化视图等手工分配Extent。
ALLOCATEEXTENT使用样例:
ALLOCATEEXTENT
ALLOCATEEXTENT(SIZEinteger[K|M])
ALLOCATEEXTENT(DATAFILE'filename')
ALLOCATEEXTENT(INSTANCEinteger)
ALLOCATEEXTENT(SIZEinteger[K|M] DATAFILE'filename')
ALLOCATEEXTENT(SIZEinteger[K|M] INSTANCEinteger)
针对数据表 *** 作的完整语法如下:
-----------
ALTERTABLE[schema]table_nameALLOCATEEXTENT[({SIZEinteger[K|M]|DATAFILE'filename'|INSTANCEinteger})]
-----------
故,需要构建如下样子简单的SQL命令:
-----------
altertableaTabelNameallocateextent
-----------
32构建对空表分配空间的SQL命令,
查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:
-----------
SQL>selecttable_namefromuser_tableswhereNUM_ROWS=0;
-----------
根据上述查询,可以构建针对空表分配空间的命令语句,如下:
-----------
SQL>Select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0
-----------
批量输出上述生成的SQL语句,建立C:\createsqlsql,其内容如下:
-----------
setheadingoff;
setechooff;
setfeedbackoff;
settermouton;
spoolC:\allocatesql;
Select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0;
spooloff;
-----------
执行C:\createsqlsql,命令如下:
-----------
SQL>@C:\createsqlsql;
-----------
执行完毕后,得到C:\allocatesql文件。
打开该文件会看到,已经得到对所有空表分配空间的命令SQL语句。
34执行SQL命令,对空表分配空间:
执行C:\allocatesql,命令如下:
-----------
SQL>@C:\allocatesql;
-----------
执行完毕,表已更改。
34此时执行exp命令,即可把包括空表在内的所有表,正常导出。
另外:Oracle11g中,对密码是大小写敏感的,即密码中的字母是区分大小写的。
在Oracle10g中及以前,密码中的字母大小写无所谓。
MySQL 导出数据
MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。
使用 SELECT … INTO OUTFILE 语句导出数据
以下实例中我们将数据表 shulanxt_tbl 数据导出到 /tmp/shulanxttxt 文件中:
你可以通过命令选项来设置数据输出的指定格式,以下实例为导出 CSV 格式:
在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。
from 树懒学堂 - 一站式数据知识平台
SELECT … INTO OUTFILE 语句有以下属性:
LOAD DATA INFILE是SELECT … INTO OUTFILE的逆 *** 作,SELECT句法。为了将一个数据库的数据写入一个文件,使用SELECT … INTO OUTFILE,为了将文件读回数据库,使用LOAD DATA INFILE。
SELECT…INTO OUTFILE ‘file_name’形式的SELECT可以把被选择的行写入一个文件中。该文件被创建到服务器主机上,因此您必须拥有FILE权限,才能使用此语法。
输出不能是一个已存在的文件。防止文件数据被篡改。
你需要有一个登陆服务器的账号来检索文件。否则 SELECT … INTO OUTFILE 不会起任何作用。
在UNIX中,该文件被创建后是可读的,权限由MySQL服务器所拥有。这意味着,虽然你就可以读取该文件,但可能无法将其删除。
更多MySQL导出数据教程请见:树懒学堂_一站式数据知识学习平台_MySQL 导出数据
以上就是关于sql 如何导出数据库全部的内容,包括:sql 如何导出数据库、oracle11g导出数据库时怎么设置把空表也导出、MySQL数据库怎么导出数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)