【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码

本文详细介绍了在Oracle数据库中进行批量数据插入的方法,包括使用loop、for、while和goto循环,以及通过Excel处理数据。同时,文章提供了Python连接Oracle数据库的示例代码,涵盖环境配置、表创建和plsqlDeveloper的使用。
摘要由CSDN通过智能技术生成

一、oracle环境配置

https://www.2cto.com/database/201701/588135.html (转自jffhy2017的博客)

二、创建表

Keys
主键:唯一关键字(如:学生表中的学号)
外键:与其他表联系的字段(如除学生表外,还有一张选课表,若修改了学生表中的学号,选修表也需要变,则需要给选修表中的学号作为外键约束)
在这里插入图片描述
Indexes
唯一索引:在普通索引的基础上,增加唯一约束(即必须唯一值)(另:主键约束的列,会自动为该列创建唯一索引)
在这里插入图片描述

三、批量插入数据到表

根据如下几种命令方法在数据库表中插入数据:

  1. loop循环
declare
  x number;
begin
  x := 0;
  loop
      x := x + 1;
      Exit when x>9;
      insert into HEYONGLIN select * from HEYONGLIN;
  end loop;
end;

  1. for循环
declare
  x number;
begin
  x := 0;
  For x in reverse 1..10 loop
      x := x + 1;
      insert into HEYONGLIN select * from HEYONGLIN;
  end loop;
end;

  1. while循环
declare
  x number;
begin
  x := 0;
  while x<10 loop
      x := x + 1;
      insert into HEYONGLIN select * from HEYONGLIN;
  end loop;
end;

  1. goto循环
declare
  x number;
begin
  x := 0;
  <<repeat_loop>>
      x := x + 1;
      insert into HEYONGLIN select * from HEYONGLIN;
  If x<9 then
      Goto repeat_loop
  end if;
end;

  1. excel处理后复制粘贴
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 反复复制原数据
insert into tname select * from tname2
Insert into tname(a,b,c) select a,c,5 from tname2 #要求表tname必须存在
selcet * into tname from tname2 #要求表tname不存在

四、pl\sql Developer连接oracle数据库

本章使用oracle11g版本(python最低支持版本)

  1. 下载oracle数据库工具Instant Client,与pl\sql Developer(注:下载的版本需选择相应主机版本匹配如64位相应64位)
  • Oracle数据库工具Instant Client官网下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
    下载后是压缩文件,解压后把instantclient_11_2放在指定目录,如:D:/instantclient_11_2
  • pl\sql Developer官方下载地址:https://www.allroundautomations.com/bodyplsqldevreg.html
  1. 配置文件
    在oracle路径中如x:\oracleapp\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora ,把配置好的tnsnames.ora文件复制放进instantclient_11_2文件夹中

附配置文件tnsnames.ora配置方法:
在这里插入图片描述
XE:数据库名称,随意起名
HOST:服务器ip
PORT:端口
SERVICE_NAME:服务器名称,随意起名


  1. plsql设置
    打开plsql点Cancel进入主界面
    在这里插入图片描述
    在pl\sql中tools\perferences设置instantclient_11_2目录与oci.dll路径
    在这里插入图片描述
    重新登录连接即可。

五、python连接oracle数据库

import cx_Oracle
# 建立连接
db = cx_Oracle.connect('STD2017/STD20171QAZ@218.16.100.87:8017/xe')

# 数据库操作
cur = db.cursor()
cur.execute('select * from hyl_table_a')
result = cur.fetchall()

# 关闭数据库
cur.close()

个人代码行已存储在github:https://github.com/onlyhyl/database/tree/master/oracle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值