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

oracle数据库批量插入数据及python连接教程

  • 一、oracle环境配置
  • 二、创建表
  • 三、批量插入数据到表
  • 四、pl\sql Developer连接oracle数据库
  • 五、python连接oracle数据库

一、oracle环境配置

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

二、创建表

Keys
主键:唯一关键字(如:学生表中的学号)
外键:与其他表联系的字段(如除学生表外,还有一张选课表,若修改了学生表中的学号,选修表也需要变,则需要给选修表中的学号作为外键约束)
在这里插入图片描述
Indexes
唯一索引:在普通索引的基础上,增加唯一约束(即必须唯一值)(另:主键约束的列,会自动为该列创建唯一索引)
【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第1张图片

三、批量插入数据到表

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

  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;
  <>
      x := x + 1;
      insert into HEYONGLIN select * from HEYONGLIN;
  If x<9 then
      Goto repeat_loop
  end if;
end;

  1. excel处理后复制粘贴
    【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第2张图片
    【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第3张图片
    【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第4张图片
  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配置方法:
【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第5张图片
XE:数据库名称,随意起名
HOST:服务器ip
PORT:端口
SERVICE_NAME:服务器名称,随意起名


  1. plsql设置
    打开plsql点Cancel进入主界面
    【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第6张图片
    在pl\sql中tools\perferences设置instantclient_11_2目录与oci.dll路径
    【数据库】oracle数据库批量插入数据,及pl/sql Developer、python连接教程 含源码_第7张图片
    重新登录连接即可。

五、python连接oracle数据库

import cx_Oracle
# 建立连接
db = cx_Oracle.connect('STD2017/[email protected]: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

你可能感兴趣的:(数据库)