【Python Oracle】使用cx_Oracle 进行数据库操作介绍

简介: 前面文章 《安装cx_Oracle 与使用》《cx_Oracle 连接oracle的简单介绍》介绍了基本使用,本文介绍一下使用python 对oracle 数据库进行常见操作的介绍oracle@rac3:/home/oracle/python>cat sqlops.
介绍了基本使用,本文介绍一下使用python 对oracle 数据库进行常见操作的介绍
oracle@rac3:/home/oracle/python>cat sqlops.py 
#!/usr/bin/python
# -*- coding: utf-8 -*- 
import cx_Oracle
import sys
import urllib
import os
# function #
def conndb(dbname='yangdb',username='yang',pwd='yang'):
##创建数据库连接,设置默认值   
   if dbname == 'yangdb':
        username = "yang" 
        pwd = "yang" 
        dsn=cx_Oracle.makedsn('127.0.0.1','1523','yangdb')
        db=cx_Oracle.connect(username,pwd,dsn)
   return db

def SelectDB(db,sql):
##select 查询
    cursor = db.cursor() 
    cursor.execute(sql)
    result=cursor.fetchall()
    cursor.close()
    return result
    
def DMLDB_N(db,sql):
##插入,更新,删除
   cursor = db.cursor()
   cursor.execute(sql)
   cursor.close()
   db.commit()

def DMLDB_P(db,sql,para):
##插入,更新,删除
   cursor = db.cursor()
   cursor.execute(sql,para)
   cursor.close()
   db.commit()

def DDLDB(db,sql):
#DDL 语句
   cursor=db.cursor()
   cursor.execute(sql)
   cursor.close()

def printResult(rs):
   for row in rs: 
        print row 

print "============== 连接数据库 =================="
db=conndb()
print "===============创建表 pytb=================="
ddl='create table pytab(id number,val varchar2(20))'
DDLDB(db,ddl)

sel='select * from pytab'
rs=SelectDB(db,sel)

printResult(rs)
print "===============向pytb插入数据==============="
inst='insert into pytab values(0,\'dba\')'
DMLDB_N(db,inst)
sel='select * from pytab'
rs=SelectDB(db,sel)
printResult(rs)
print "=======使用参数,向pytb插入数据============="
dt=[{'id':1,'val':'qilong'},
    {'id':2,'val':'xxq'},   
    {'id':3,'val':'aliyun'},    
    {'id':4,'val':'aliyundba'},   
    {'id':5,'val':'aliyunsa'},
    {'id':6,'val':'aliyunidc'},
    {'id':7,'val':'aliyunnework'},
    {'id':8,'val':'alibaba'},
    {'id':9,'val':'taobao'},    
    {'id':10,'val':'alipay'},
    {'id':11,'val':'tech'},
    {'id':12,'val':'oracle'},
    {'id':13,'val':'IBM'}    
   ]
inst='insert into pytab values(:id,:val)'
for bulk in dt:
   DMLDB_P(db,inst,bulk)
sel='select * from pytab'
rs=SelectDB(db,sel)
printResult(rs)
print "===============删除表 pytb 数据=============="
delt='delete from pytab where id=1'
DMLDB_N(db,delt)
print "===============查询表 pytb 数据=============="
sel='select * from pytab'
rs=SelectDB(db,sel)

printResult(rs)
结果显示:
oracle@rac3:/home/oracle/python>python sqlops.py 
============== 连接数据库 ==================
===============创建表 pytb==================
===============向pytb插入数据===============
(0, 'dba')
=======使用参数,向pytb插入数据=============
(0, 'dba')
(1, 'qilong')
(2, 'xxq')
(3, 'aliyun')
(4, 'aliyundba')
(5, 'aliyunsa')
(6, 'aliyunidc')
(7, 'aliyunnework')
(8, 'alibaba')
(9, 'taobao')
(10, 'alipay')
(11, 'tech')
(12, 'oracle')
(13, 'IBM')
===============删除表 pytb 数据==============
===============查询表 pytb 数据==============
(0, 'dba')
(2, 'xxq')
(3, 'aliyun')
(4, 'aliyundba')
(5, 'aliyunsa')
(6, 'aliyunidc')
(7, 'aliyunnework')
(8, 'alibaba')
(9, 'taobao')
(10, 'alipay')
(11, 'tech')
(12, 'oracle')
(13, 'IBM')
目录
相关文章
|
18天前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
6天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
6天前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
17 2
|
6天前
|
数据采集 关系型数据库 MySQL
如何用Python+sqlalchemy创建数据库
如何用Python+sqlalchemy创建数据库
15 2
|
21天前
|
消息中间件 关系型数据库 数据库
Python实时监测数据库表数据变化的方法
在实现时,需要考虑到应用的实时性需求、数据库性能影响以及网络延迟等因素,选择最适合的方法。每种方法都有其适用场景和限制,理解这些方法的原理和应用,将帮助开发者在实际项目中做出最合适的技术选择。
79 17
|
9天前
|
数据库 Python
python之操作数据库删除创建
python之操作数据库删除创建
|
25天前
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。
|
1月前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
38 10
|
7天前
|
关系型数据库 MySQL 数据管理
pymysql:Python操作MySQL数据库的又一利器
pymysql:Python操作MySQL数据库的又一利器
12 0
|
7天前
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
12 0
下一篇
无影云桌面