【Python Oracle】使用cx_Oracle 进行数据库操作介绍-阿里云开发者社区

开发者社区> yangyi_dba> 正文

【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')

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
oracle数据库 如何查询某个表的约束条件
使用下面语句从all_constraints视图中查看某表上的约束: SELECT constraint_name, table_name, r_owner, r_constraint_name FROM all_constraints WHERE table_name = 'table_name' and owner = 'owner_name'; 另一个视图ALL_CONS_COLUMNS也包括组成表上约束列的信息。
638 0
使用iOS原生sqlite3框架对sqlite数据库进行操作(一)
使用iOS原生sqlite3框架对sqlite数据库进行操作
36 0
oracle中的 exists 和 in 简单用法介绍
document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.
463 0
MyBatis Generator(MBG)Oracle使用说明 公共同义词 LONG数据类型
Oracle使用说明公共同义词 Public Synonyms如果要为具有公共同义词的表生成对象,则应该实际上根据真实表生成对象,然后在运行时更改表名称。MyBatis Generator自动支持。
918 0
+关注
yangyi_dba
数据库相关技术专家
972
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载