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

前面文章 《安装cx_Oracle 与使用》《cx_Oracle 连接oracle的简单介绍

介绍了基本使用,本文介绍一下使用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')

时间: 2024-08-03 03:26:03

【Python Oracle】使用cx_Oracle 进行数据库操作介绍的相关文章

python中常用的各种数据库操作模块和连接实例_python

工作中,经常会有用python访问各种数据库的需求,比如从oracle读点配置文件或者往mysql写点结果信息之类的.这里列一下可能用到的各个模块. sqlite3: 内置模块用sqlite,有时候确实很方便,我觉得它确实做到了宣称的"零配置".python自2.5版以来,就内置了对sqlite3的支持,使用也非常简单,按照文档上来: 复制代码 代码如下: #打开db文件,获得连接conn = sqlite3.connect('数据文件名')#获得游标c = conn.cursor()

oracle启动和关闭数据库方法介绍

unix关闭顺序,先关闭数据库,然后是操作系统,最后下电 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库,在服务器端就不能使用oem和isqlplus工具. 启动监听程序 lsnrctl start          关闭监听程序lsnrctl stop 查询监听程序状态lsnrctl status 启动数据

【Python】基于pymysql的数据库操作类

一 简介      Python和MySQL交互的模块有 MySQLdb 和 PyMySQL(pymysql),MySQLdb是基于C 语言编写的,而且Python3 不在支持MySQLdb .PyMySQL是一个纯Python写的MySQL客户端,它的目标是替代MySQLdb,可以在CPython.PyPy.IronPython和Jython环境下运行,PyMySQL在MIT许可下发布.     在开发基于Python语言的项目中,为了以后系统能兼容Python3,我们使用了PyMySQL替换

3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的区别,sql文件导入

 1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date definition Language) 数据库定义语言 create table;create view index sequence synonvm同义词,truncate table DCL语言 (Data control Language) 数据控制语言 commit rollback s

Oracle 数据库操作技巧集_oracle

正在看的ORACLE教程是:Oracle 数据库操作技巧集.[编者注:]提起数据库,第一个想到的公司,一般都会是Oracle(即甲骨文公司).Oracle在数据库领域一直处于领先地位.Oracle关系数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle9i是Oracle于今年6月份正式推出的数据库最新产品.Oracle9i在可伸缩性.可靠性和完整性方面有着上佳的表现,一推出就获得了开发者的认同.它是一种高效率.可靠性好的适

纯Python开发的nosql数据库CodernityDB介绍和使用实例_python

看看这个logo,有些像python的小蛇吧 .这次介绍的数据库codernityDB是纯python开发的. 先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给力,结果一看实现的方式,真是太鸟了,居然就是json的存储,连个二进制压缩都没有.  这里介绍的CodernityDB 也是纯开发的一个小数据库. CodernityDB是开源的,纯Python语言(没有第三方依赖),快速,多平台的NoSQL型数据库.它有可选项支持HTTP服务版本(Codernit

Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般都是建建表.查查数据的操作居多,较少会考虑系统的整个Oracle的完整备份操作.但是在我们一些发布操作中,我们必须考虑如何把Oracle的对象.表数据导出到Sql脚本中,并且把创建Oracle表空间.创建Oracle数据库的操作也放到脚本中,这样我们就方便快速还原或者部署Oracle数据库到新的机器

Python数据库操作手册

数据|数据库 数据库的操作在现在的Python里面已经变得十分的好用,有了一套API标准.下面的就是讲讲如何的去使用这套框架定义.此框架包含以下部分模块接口 连接对象 游标对象 DBI辅助对象 数据类型与定义 如何实现的提示 从1.0到2.0的变化 例子 模块接口connect(parameters...) 其中的参数格式如下: dsn 数据源名称user 用户名(可选)password 密码(可选)host 主机名(可选)database 数据库名(可选)举个例子: connect(dsn='

JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle

js|oracle|分页|数据|数据库|显示 <%@ page contentType="text/html;charset=8859_1" %> <% //变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 java.sql.ResultSet sqlRst; //结果集对象 java.lang.String strCon; //数据库连接字符串 java.