sql 如何导出数据库

sql 如何导出数据库,第1张

数据软件导出的方法不一样

比如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数据库怎么导出数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9699345.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存