把Excel中的数据导入Oracle 数据库中练习题.doc
将excel数据导入oracle中的几种方法

将excel数据导入oracle中的几种方法将Excel数据导入Oracle数据库有多种方法,下面介绍几种常用的方法,包括使用Oracle SQL Developer、使用PL/SQL、使用OracleData Integrator(ODI)和使用第三方工具。
1. 使用Oracle SQL Developer导入数据Oracle SQL Developer是Oracle官方提供的数据库开发和管理工具。
它提供了一种简单直观的方法将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开Oracle SQL Developer并连接到目标数据库。
2)在导航栏中选择"表格"选项卡。
3)在"表格"选项卡中,右键单击要导入数据的表格,选择"导入数据"。
4) 在"导入数据"对话框中,选择"从文件"选项,并选择Excel文件。
5)配置导入选项,例如数据格式、目标表格和列映射等。
6)单击"导入"按钮,开始导入数据。
2.使用PL/SQL导入数据PL/SQL是Oracle的过程化编程语言,可以使用它编写脚本将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开PL/SQL开发工具,例如Oracle SQL Developer或者Oracle PL/SQL Developer。
2)创建一个新的PL/SQL脚本。
3) 在脚本中使用INSERT语句将Excel中的数据逐行插入到目标表格中。
4)运行脚本以执行导入数据的操作。
3. 使用Oracle Data Integrator(ODI)导入数据Oracle Data Integrator(ODI)是一个数据集成工具,可用于将Excel数据导入到Oracle数据库中。
它提供了一种图形化的方法来定义和管理数据转换和导入操作。
步骤如下:1) 打开ODI Studio并连接到目标数据库。
把Excel中的数据导入Oracle数据库中精修订

把E x c e l中的数据导入O r a c l e数据库中SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#教你怎么样把Excel文件中的数据导入到Oracle数据库中第一种:最简单的方法。
在EXCEL中全选数据,然后COPY。
接着打开PL/SQLDEVELOPER,打开SQL窗口,输入select*frommytableforupdate;然后执行,就可以看到查出目的表mytable数据,如果是空表,当然是没数据了。
然后点击下面列表上方的锁(编辑数据),不管有没有数据,我们选择最后一个空行的行头,让整行变成黑色则表示整行已全选中。
注意该行左边是有个黑色实心三角箭头的。
然后粘贴,再commit就OK咯。
说明:而且这个方法还有个好处就是对EXCEL中的日期型、数值型字段的处理也很正常,数据类型不会丢失。
图:选中了行然后粘贴数据第二种:简单的方法。
先将Excel文件另存为一个.csv文件,然后编写一个insert.ctl文件,ctl文件写法如下:loaddata --1、控制文件标识infile'test.csv' --2、要输入的数据文件名为test.csv appendintotabletable_name--3、向表table_name中追加记录fieldsterminatedby',' --4、字段终止于',',是一个逗号(field1,field2,field3,...fieldn)-----定义列对应顺序field(x)要与Oracle表中的字段名保持一致(大写)最后在DOS命令下执行以下命令:sqlldruser/passwordcontrol=insert.ctl图:表示导入了12条记录第三种:比较简单的方法。
如果数据不是很多,可以使用如下方法:假设表名为test_excel,有4列数据,则设置Excel的E1单元格的值为="insertintotest_excelvalues(‘”&A1&“’,‘”&B1&“’,‘”&C1&“’,‘”&D1&“’);”向下拖动该公式,则生成一列sql,把其copy到sql/plus中执行即可(如果数据中有单引号,需要先替换成两个),临时导数据用这种方法还是比较方便的。
EXCEL文件导入到ORACLE数据库

EXCEL文件导入到ORACLE数据库1. excel文件:2. 首先将excel文件另存为“文本文件(制表符分隔)”:3. 进入oracle创建相应的表结构:create table test (name varchar(255),age varchar(20),sex varchar(10),idcard varchar(255),address varchar(255));4. 创建控制文件,保存为input.ctl:load datainfile 'test.txt'append into table testfields terminated by X'09'(name,age,sex,idcard,address)5. 使用SQL*Loader命令实现数据的输入:sqlldr userid=scott/tiger control=input.ctl6. 进入scott用户查看输入的数据:这里发现输入的汉子都是乱码,因此需要查看oracle服务端和客户端之间的字符集是否匹配:7. ORACLE服务端字符集:select parameter,value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';PARAMETER VALUE----------------------------------------------------------------------NLS_CHARACTERSET ZHS16GBKselect userenv('language') from dual;USERENV('LANGUAGE')----------------------------------------------------AMERICAN_AMERICA.ZHS16GBKORACLE客户端字符集:echo $NLS_LANG因此需要将客户端字符集也设置为与服务端字符集一致:export NLS_LANG="simplified chinese"_china.zhs16gbk 7. 最后重新使用SQL*Loader进行数据输入:sqlldr userid=scott/tiger control=input.ctl再进入scott用户查看输入的数据:。
excel导入导出考题

excel导入导出考题Excel导入导出是Excel表格中常用的功能之一,它可以帮助用户将数据从其他文件格式导入Excel中进行处理,或者将Excel中的数据导出为其他文件格式以供使用。
在Excel中,数据的导入分为两种方式:从其他文件导入和从数据库导入。
从其他文件导入数据:1. 打开Excel软件,点击“文件”选项卡,选择“打开”。
2. 在打开的对话框中找到需要导入的文件,选择文件类型。
3. 选择要导入的工作表,点击“确定”按钮。
4. Excel会将选定的文件内容导入到当前工作表中。
从数据库导入数据:1. 打开Excel软件,点击“数据”选项卡,选择“获取外部数据”。
2. 选择“从其他源”或“从SQL Server”等选项,点击“下一步”按钮。
3. 输入数据库服务器名称和登录凭据,点击“下一步”按钮。
4. 选择要导入的表或视图,点击“下一步”按钮。
5. 选择导入的目标位置和导入方式,点击“完成”按钮。
6. Excel会将数据库中的数据导入到当前工作表中。
在Excel中,数据的导出同样分为两种方式:导出为其他文件和导出到数据库。
导出为其他文件:1. 打开Excel软件,选择要导出的数据所在的工作表。
2. 点击“文件”选项卡,选择“另存为”。
3. 在保存对话框中选择要保存的文件类型,例如PDF、CSV 等。
4. 输入保存文件的名称和路径,点击“保存”按钮。
5. Excel会将选定的工作表数据保存为指定文件格式的文件。
导出到数据库:1. 打开Excel软件,选择要导出到数据库的数据所在的工作表。
2. 点击“数据”选项卡,选择“从其他源”或“从SQL Server”等选项。
3. 输入数据库服务器名称和登录凭据,点击“下一步”按钮。
4. 选择要导出到的表或视图,点击“下一步”按钮。
5. 选择导入的目标位置和导入方式,点击“完成”按钮。
6. Excel会将选定的工作表数据导出到指定数据库的表或视图中。
通过Excel的导入导出功能,用户可以方便地将数据从其他文件或数据库中导入到Excel中进行处理,或者将数据从Excel导出为其他文件或导入到数据库中,提高了数据的利用率和处理效率。
oracle练习题(打印版)

oracle练习题(打印版)### Oracle数据库练习题#### 一、选择题1. Oracle数据库中,哪个命令用于创建表?- A. CREATE TABLE- B. CREATE DATABASE- C. DROP TABLE- D. ALTER TABLE2. 以下哪个不是Oracle数据库的数据类型?- A. NUMBER- B. CHAR- C. DATE- D. IMAGE3. 在Oracle数据库中,哪个命令用于删除表?- A. DELETE FROM- B. DROP TABLE- C. REMOVE TABLE- D. ERASE TABLE4. Oracle数据库中,如何查看当前用户?- A. SELECT USER FROM DUAL;- B. SELECT CURRENT_USER FROM DUAL;- C. SELECT USERNAME FROM ALL_USERS;- D. SELECT CURRENT_USER FROM ALL_USERS;5. 以下哪个命令用于在Oracle数据库中创建索引?- A. CREATE INDEX- B. CREATE KEY- C. CREATE CONSTRAINT- D. CREATE UNIQUE#### 二、填空题1. 在Oracle数据库中,使用____命令可以查看表结构。
2. Oracle数据库中,使用____命令可以查看当前数据库的所有表。
3. 要删除Oracle数据库中的行,可以使用____命令。
4. Oracle数据库中,____用于存储二进制数据。
5. Oracle数据库中,____命令用于查看数据库中所有的索引。
#### 三、简答题1. 描述Oracle数据库中事务的ACID属性。
2. 解释Oracle数据库中的锁定机制。
3. 说明Oracle数据库中视图的作用。
#### 四、操作题1. 创建一个名为`Employees`的表,包含以下字段:- `EmployeeID` NUMBER(10) PRIMARY KEY,- `FirstName` VARCHAR2(50),- `LastName` VARCHAR2(50),- `HireDate` DATE,- `Salary` NUMBER(10, 2),- `DepartmentID` NUMBER(10).2. 向`Employees`表中插入以下数据:- `EmployeeID`: 1001, `FirstName`: 'John', `LastName`:'Doe', `HireDate`: '2023-01-01', `Salary`: 70000,`DepartmentID`: 101.- `EmployeeID`: 1002, `FirstName`: 'Jane', `LastName`:'Smith', `HireDate`: '2023-02-15', `Salary`: 50000,`DepartmentID`: 102.3. 编写一个查询,显示所有员工的姓名和工资,按工资从高到低排序。
使用toad将excel数据导入oracle

使用toad将excel文件导入oracle每次项目开始启动之后,就面临着一系列基础数据入库的问题,以往是采用oracle自带工具sql*loader将excel文件导入,最近没事研究toad时发现其也有一种可以将外部文件导入oracle的工具import,于是与大家一起分享。
大体步骤为:一、点击菜单栏中的database,选择其中的import,里面有两个选项:source files 和table data,此处我们选择后者。
二、出现以下界面,选择schema、对象类型、对象名称和提交方式。
下面一一讲解:Schema就是方案名称,对象类型就如表、视图等等一些数据库对象类型,此处应该是table 对象名称就是上面选择对象类型后的对象名称,提交模式有不提交、所有记录完成后提交和每条记录提交,当然根据导入数据量的大小。
一般选择所有记录完成后提交,这样保持数据库的一致性。
三、将上面的四个选项选择后,按纽show data可以使用,如下所示:点击之,就会显示出你选择的对象中的数据。
这时下面的几个图标可以使用:如图我们从左往右一一介绍:图标表示,如果选择的对象中有数据可以使用它来清除之,保持该对象的数据结构。
就是平时常用的不产生redo log的truncate table操作。
表示是否启用constraints 约束表示是否启用trigger 触发器,前提条件是该对象存在触发器。
这两项默认情况下是选中的,前者表示Grid是只读的,后者用在导入的数据量比较大时采用。
这里重点讲一下的使用,点击该按钮之后,你会发现以下界面:在这里可以选择外部文件的格式如txt、xls、mdb,最下一行可以加载一个以前保存的设置,也可以保存现在的设置。
然后点击next,出现以下界面:在此处选择待导入的数据文件,选择文件来源,默认是ANSI(windows),下面是指定由于数据错误而无法导入的数据存放位置。
然后点击next。
需要在以下界面确认一些字符是否与数据文件中字符相冲突。
5种从Excel数据导入Oracle方法

最近同事遇到了每天手工导入Excel数据到Oracle的问题,他目前的操作是使用PL/SQL Developer中的复制粘贴方法,这样每天都需要进行手工的操作,很明显长期下来的工作量是比较大的,于是找了几种可供使用的导入方法:一、直接使用SQL*Loader 导入SQL*Loader 是Oracle自带的数据加载工具,其数据导入比较专业,有各种参数及选项可供选择,经常是作为数据仓库中大型数据的导入方法选择。
优点:1、可将导入命令写入BAT文件直接批量处理2、导入处理比较专业,提供各种参数选择3、无需操作Oracle所在服务器缺点:1、Excel文件需要另存为txt或csv格式(似乎没有自动完成的方法)总得来说这种方法是最值得采用的,可以自动建立操作系统的批处理文件执行SQLLDR命令,将数据导入原始接收表,并在数据库中设置触发器进行精细操作。
二、使用外部表直接更新Excel数据Oracle的外部表其实也可以满足将外部数据读入数据库的功能,但是其可操作性相比SQL*Loader 还是要小很多优点:1、无需执行导入操作,更新外部文本文件后可直接查询数据2、仅在查询时操作一次数据,对系统资源占用较小缺点:是要有权限,二是文件必须放到 Oracle 服务器上(似乎不能远 程)2、 需要上传文件,而且无法进行多表导入等复杂的操作3、 同样需要将 Excel 文件存储为txt 或csv 格式这种方法对于权限要求高,操作性弱,仅针对于简单的数据导入时使用三、PL/SQL Developer 粘贴法这种方法就比较简单易用了,每次复制粘贴就行,只限于偶尔的导入使用,累死人了。
优点:1、 操作便捷,简单直接2、 仅需要最简单的 update/i nsert/delete table 权限缺点:1、 只能对一张表进行操作,多表操作会十分复杂2、 需要手动操作的工作量较大3、 所有数据需在 Excel 中处理完毕,导入时无法进行任何简单操作具体操作方法:1、 在PL/SQL Developer 中选择需要操作的表,右键 -Edit Data< 也可以在查询窗口 中输入 select * from table_name for update;开那个锁>2、 可以直接在数据窗口中修改或粘贴新的数据 (注意格式);3、 点击那个钩(Post Change ) ;4、 提交数据;四、使用Access 中转 1、需要建立directory 是每天导入就 然后点击打这种方法只是在网上看到了一下,对于Access没有什么研究,但是觉得应该会有以下缺点1、导入无法自动刷新,甚至连简单的点击刷新也没有2、需要建立ODBC、导入、导出等多步操作,工作量极大3、数据导入到Oracle中时,基本上没有可操作性,只能最简单的操作这种方法唯一的优点大概就是可以直接将Excel的数据导入到Access,但是操作步骤也比较多转一下网上说的方法:1、在本地创建一个Access数据库,将Excel数据先导入到Access。
把Excel数据导入到Oracle数据库

//winform程序,点击程序上的按钮,找到Excel文件,打开后把这个Excel里的数据导入到oracle数据库里#region 导入Excel数据到数据库private void button3_Click(object sender, EventArgs e){DataSet ds;if (openFileDialog1.ShowDialog() == DialogResult.OK){ds = ImportExcel(this.openFileDialog1.FileName);//获得Excel}else{return;}int odr = 0;OracleConnection conn = dbc.getConnection();//获得conn连接try{conn.Open();OracleCommand cmd = conn.CreateCommand();mandText = "INSERT INTO kk.kkhmd (xh,hpzl,hphm,bz,larq,fdjh,clpp,cjh,jdcsyr,cllx,csys)VALUES(:xh,:hpzl,:hphm,:bz,:larq,:fdjh,:clpp,:cjh,:jdcsyr,:cllx,:csys) ";//删除记录int dsLength = ds.Tables[0].Rows.Count;//获得Excel中数据长度for (int i = 1; i < dsLength; i++){cmd.Parameters.Add("xh", OracleType.VarChar).Value = ds.Tables[0].Rows[i][0];cmd.Parameters.Add("hpzl", OracleType.VarChar).Value = ds.Tables[0].Rows[i][1];cmd.Parameters.Add("hphm", OracleType.VarChar).Value = ds.Tables[0].Rows[i][2];cmd.Parameters.Add("bz", OracleType.VarChar).Value = ds.Tables[0].Rows[i][3];cmd.Parameters.Add("larq", OracleType.DateTime).Value = ds.Tables[0].Rows[i][4];cmd.Parameters.Add("fdjh", OracleType.VarChar).Value = ds.Tables[0].Rows[i][5];cmd.Parameters.Add("clpp", OracleType.VarChar).Value = ds.Tables[0].Rows[i][6];cmd.Parameters.Add("cjh", OracleType.VarChar).Value = ds.Tables[0].Rows[i][7];cmd.Parameters.Add("jdcsyr", OracleType.VarChar).Value = ds.Tables[0].Rows[i][8];cmd.Parameters.Add("cllx", OracleType.VarChar).Value = ds.Tables[0].Rows[i][9];cmd.Parameters.Add("csys", OracleType.VarChar).Value = ds.Tables[0].Rows[i][10];odr = cmd.ExecuteNonQuery();//提交}//如果查到了数据,才使控制分页按钮生效if (odr > 0 ){MessageBox.Show("导入成功");}conn.Close();}catch (Exception ee){MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}public static DataSet ImportExcel(string file){FileInfo fileInfo = new FileInfo(file);if (!fileInfo.Exists)return null;string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";OleDbConnection objConn = new OleDbConnection(strConn);DataSet dsExcel = new DataSet();try{objConn.Open();string strSql = "select * from [Sheet1$]";OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);odbcExcelDataAdapter.Fill(dsExcel);return dsExcel;}catch (Exception ex){throw ex;}}#endregion//还有一个是读到DataTable里//用oledb方式读取excel到datatable,然后再写入数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教你怎么样把Excel 文件中的数据导入到Oracle 数据库中
第一种:最简单的方法。
在EXCEL中全选数据,然后COPY。
接着打开PL/SQL DEVELOPER,打开SQL窗口,输入select * from mytable for update; 然后执行,就可以看到查出目的表mytable数据,如果是空表,当然是没数据了。
然后点击下面列表上方的锁(编辑数据),不管有没有数据,我们选择最后一个空行的行头,让整行变成黑色则表示整行已全选中。
注意该行左边是有个黑色实心三角箭头的。
然后粘贴,再commit 就OK咯。
说明:而且这个方法还有个好处就是对EXCEL中的日期型、数值型字段的处理也很正常,数据类型不会丢失。
图:选中了行然后粘贴数据
第二种:简单的方法。
先将Excel文件另存为一个.csv 文件,然后编写一个insert.ctl文件,ctl文件写法如下:load data--1、控制文件标识
infile 'test.csv'--2、要输入的数据文件名为test.csv
append into table table_name --3、向表table_name中追加记录
fields terminated by ','--4、字段终止于',',是一个逗号
(field1,
field2,
field3,
...
fieldn)-----定义列对应顺序
field(x)要与Oracle表中的字段名保持一致(大写)
最后在DOS命令下执行以下命令:
sqlldr user/password control=insert.ctl
图:表示导入了12条记录
第三种:比较简单的方法。
如果数据不是很多,可以使用如下方法:
假设表名为test_excel,有4列数据,则设置Excel的E1单元格的值为
="insert into test_excel values(‘” & A1 & “’, ‘” & B1 & “’, ‘” & C1 & “’, ‘” & D1 & “’);”
向下拖动该公式,则生成一列sql,把其copy到sql/plus中执行即可(如果数据中有单引号,需要先替换成两个),临时导数据用这种方法还是比较方便的。
图:使用Excel的公式功能为我们生成的SQL语句
图:导入到Oracle数据库后的表数据
第四种:比较麻烦的方法
1、在本地创建一个Access数据库,将Excel数据先导入到Access。
可直接导入点击鼠标右键,选择导入,文件类型选择要导入的Excel文件,也可通过创建宏用TransferSpreadsheet 函数实现。
2、在本地创建ODBC,链接oracle数据库。
将oracle中需要导入数据的表以链接表的方式在本地Access中创建(千万不要使用导入表)。
3、在Access数据库中创建插入查询将导入好的Excel数据导入到oracle中。
此方法保证成功。
第五种:高端方法。
利用异构数据库.
建一个实例,通过ODBC基于EXCEL文件.
再以db_link的方式进行操作:insert into oracle_instance.tab select * from excel_instance.tab。