数据库的导入 导出

Oracle  学习笔记

一、创建 oracle 数据库

利用 已经创建完了数据库 car1 ,

二、利用 语句创建一个新的用户,赋予用户新的权限。

(创建一个用户,对应的给这个用户创建一个方案,里面存储着这个用户的东西)

创建用户  create   user  ,一般是具有dba权限的用户才可以进行创建

Create user  admin  identified by  wqhadmin;

(密码要以字母开头,用数字开头是不允许的)

但是创建完后,用户没有任何权限

Grant  connect  to  admin;

二、对数据库数据进行导入、导出

导出分为三种:导出数,导出方案(把一个用户的所有东西都导出),导出数据库

使用exp命令来完成。该命令的常用的选项有:

导出、导出的时候,使用的不是在SQL 中直接进行导入导出,而是在CMD打开的DOS窗口下进行

而是要在   oracle目录的  bin  目录下 (使用的是bin文件夹里的exp.exe)

(具体过程:

Cmd,打开命令行,

d: 切换到d盘下,

cd oracle,切换到oracle目录下,

d:\oracle>cd  product

一直到

D:\oracle\product\10.1.0\Db_1\BIN>emp  ………

使用的是该目录下系统自带的导出工具。

导出表:

(1)导出自己的表

Exp  userid=scott/[email protected]  tables=(emp)  file=d:\e1.dmp

(不一定非用dmp的后缀名,可以用别的后缀名,要导出多个表,则在tables=(emp,。。。,。。。))

(2)导出其他方案的表

如果用户要导出其他方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表:exp userid=system/[email protected]  tables=(scott.emp)  file=d:\e2.dmp

(3)导出表的结构

Exp userid=scott/[email protected] tables=(emp)  file=d:\e3.dmp rows=n

(4)使用知道导出方式

Exp userid=scott/[email protected]  tables=(emp)  file=d:\e3.dmp  direct=y

这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。这时需要数据库的字符集要与客户端字符集完全一致,否则会报错。

导出方案:

导出方案使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束。。。)和数据,并存放到文件中。

(1)导出自己的方案

Exp  scott/[email protected]  owner=scott  file=d:\scott.emp

(2)导出其他方案

如果用户要导出其他方案,则需要dba的权限或是exp_full_database的权限,例如用system用户就可以导出任何方案

Exp  system/[email protected]  owner=(system,scott)  file=d:\system.dmp

这个是同时导出了两个方案,system,scott的

导出数据库:

导出数据库是之利用export导出所有数据库中的对象及数据。

要求该用户具有dba的权限或是exp_full_database权限,

Exp  userid=system/[email protected]  full=y  inctype=complete file=d:\e6.dmp

(如果不写,盘符,就会导出到bin目录下,)

Inctype:增量备份,第二次备份的时候要快一些,检查有没有新的数据,速度要快一些,但是具体怎么样,不知道

导入:

导入就是使用import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是export所导出的文件,与导出相似,导入也分为导入表,导入方案,导入数据库三种方式:

Imp常用的选项有:

Userid:用于指定知道导入操作的用户名,口令,链接字符串,

Tables:用于指定执行导入操作的表

Fromuser:用于指定源用户

Touser:用于制定目标用户

File:用于指定导入文件名

Full=y:用于指定执行导入整个文件

Inctype:用于指定执行导入操作的增量类型

Rows:指定是否要导入表行(数据)

Ignore:如果表存在,则只导入数据

导入表:

(1)导入自己的表

Imp userid=scott/[email protected]   tables=(emp)  file=d:\xx.dmp

导出的一是导出全部,二是导出表结构,导入的时候一定要注意

Drop table emp

这张表是scott 自己的表,而且这张表和别的表有主外键的关系,所以如果这个语句换成了

Imp  userid=system/[email protected]  talbes=(emp)  file=d:\e6.dmp

是不能成功的,但是如果emp单单就是一张数据表格,不存在主外键的关系,是可以成功的,因为它就是一张数据表,,

换了另外一张dept,就把它导入到了system,

但是在登陆查询的时候,如果是登陆system as sysdba,这时候其实进入的是sys的账户,是查不到这张表的,只有登陆  system  ,(as  normal),才能查到这张表。

(2)导入表到其他用户

要求该用户具有dba的权限,或是imp_full_database

Imp userid=system/[email protected] tables=(emp) file=d:\xx.dmp  touser=scott

(3)导入表结构

之导入表的结构而不导入数据

Imp  userid=scott/[email protected]  tables=(emp)  file=d:\xxx.dmp  rows=n

(4)导入数据

如果对象(如此表)已经存在可以只导入表的数据

Imp  userid=scott/[email protected]  tables=(emp)  file=d:\xxx.dmp  ignore=y

导入方案:

导入方案是指使用import工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其他方案,要求该用户具有dba的权限,或是  imp_full_database

(1)导入自身的方案

Imp  userid=scott/[email protected]   file=d:\xxx.dmp

(2)导入其他方案,

要求该用户具有dba的权限

Imp  userid=system/[email protected]  file=d:\xx.dmp  fromuser=system  touser=scott

把system的方案 导入到 scott中去

导入数据库

在默认情况下,当导入数据库,会导入所有对象结构和数据,案例如下

Imp   userid=system/manager   full=y  file=d:\xxx.dmp

数据库实例@myor 都不要写了,系统会自动创建一个实例

时间: 2025-01-15 18:04:14

数据库的导入 导出的相关文章

数据库bcp导入导出批处理工具

应公司策划要求,需要一个数据库按表导入导出的工具配合svn来进行差异匹配,方便策划每天对数据库修改的记录工具,我使用bcp命令实现如下批处理工具,中间踩了不少坑,现保存在这边希望可以帮到需要此工具的同学. ::数据库地址 set ip=127.0.0.1 ::数据库帐号 set login=sa ::数据库密码 set passward=Passward ::数据库名称 set dataBase=MyDBName ::保存txt文件的路径 set filePath=d:\data::导入到数据库

Linux数据库的导入导出

Linux数据库的导入导出 1.导入数据库 mysql -u username -p test < /home/data/test.sql 说明:username是数据库用户名,test为目标数据库 2.1.导出整个数据库 mysqldump -u username -p test > /home/data/test.sql 说明:username是数据库用户名,test源数据库 2.2.导出数据库中某张表 mysqldump -u username -p test documents >

数据库的导入导出

一.导出: 打开CMD,输入命令: exp Username: test@orcl Password: Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production With the Partitioning, Real Application Clusters and Data Mining options Enter array fetch buffer size: 409

自用Postgres 数据库的导入导出脚本

工作中时常给开发和测试导入导出一些测试的数据库,于是写了一个脚本方便操作. 公司目前使用的是postgres9.3数据库. #!/bin/bash #定义一些变量和操作命令 DBS="db1 db2 db3 db4" EXPDB_CMD=/usr/pgsql-9.3/bin/pg_dump DBCMD=/usr/pgsql-9.3/bin/psql DBUSER=postgres DBSVR=mydbhost1 #导出数据库 function exportdb() {   read -

winform做的excel与数据库的导入导出

闲来无事,就来做一个常用的demo,也方便以后查阅 先看效果图 中间遇到的主要问题是获取当前连接下的所有的数据库以及数据库下所有的表 在网上查了查,找到如下的方法 首先是要先建立一个连接 _connMaster = new SqlConnection( String.Format("Data Source={0};Initial Catalog=master;User ID={1};PWD={2}", _host, _userName, _pwd)); 请注意 Catalog=mast

SQL Server数据库中导入导出数据及结构时主外键关系的处理

2015-01-26 软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出.处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入. 情景一.同一数据库产品,相同版本 此种情况下源数据库与目标数据库的数据结构与数据的导入导出非常简单. 方法1:备份源数据库,恢复到目标数据库即完成. 方法2:使用SQL Sever数据库自带的[复制数据库]功能或者[导入数据]功能按照向导操作即可. 情景二.同一数据库产品,不同版

数据库文件导入导出

用pl/sql developer导出表的数据时有三种方式: Oracle Export,Sql Insert,pl/sql developer 导出步骤: 1 tools ->export tables-> Oracle Export 选择选项导出.dmp文件 2 tools ->export user object 选择选项,导出.sql文件 导入步骤: 1 tools->import talbes->Oracle Import然后再导入dmp文件 2 tools->

数据库数据导入/导出报错:无法在只读列“Id”中插入数据。

本文仅供小白参考,大佬请随意...... 本例是:从vs 2017自带的localDB数据库的数据---导出到---->Sql Server 2008中的相应数据库中 1. 导出数据库: 2. 导入的目标数据库: 3. 下一步*n---->完成 4. 爽一下后连续报错开始: 上面两个错误的前提是:我的Sql Server中数据库是先手动建立了同名数据库, 然后从localDB相应数据库右键--->任务--->生成脚本--->选择特定数据库对象--->全选所有表---&g

sql server 数据库之间导入导出数据表

1.点击源数据库右键->任务->导出数据 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.