python2.7连接oracle数据库,python 操作oracle数据库
因为之前的现任公司没有访问Oralce数据库的权限,所以没有使用python连接Oralce。以前的公司大多专注于连接mysql和sqlserver。最近他们在做一些web自动化的工作,所以这是一个简单的记录。下面这篇文章主要介绍用Python连接Oracle数据库的基本操作。有需要的可以参考一下。
这里,我们使用Oracle数据库进行相关操作。
连接数据库之间,要下载相应的工具包cx_Oracle,在安装的Python文件夹中找到脚本,点击路径栏中的Enter cmd进入命令行。
pip安装cx_Oracle
安装,工具包小,下载快,300kb左右。
安装后,打开Python并创建一个新的工作空间。
1.介绍工具包,使用import关键字,并输入
导入cx_Oracle
介绍一下工具包,运行一下,看看是否加载成功(结果区是空白的,没有别的),说明加载成功;
2.建立与数据库的连接,并创建一个数据库对象。
对象名=cx_Oracle.connect(用户名,口令,监听地址/数据库名)
注意:用户名、密码和数据库名称是您登录Oracle数据库的图形界面工具PLSQL Developer时填写的内容。监听端口的地址就是计算机监听端口的地址(最后还有一个搜索方法)。
3.创建一个游标来执行sql语句,
游标名=对象名。光标()
4.通过建立SQL语句来操作数据库,SQL语句的语法规则和Oracle上的完全一样。
5.通过游标对象名调用execute()方法来执行一条SQL语句。比如:
光标名称。执行(sql)
6.通过游标对象名调用executemany(sql,param)方法执行多个sql语句。当插入多个数据值时,每一行的数据值都应该封装在一个元组中,然后用一个列表封装。比如:
Param=[(1,张山,29)]
光标名称。executemany(sql,param)
7.通过变量名调用fetchone()方法来获取执行的SQL查询语句的值。比如:
变量名=游标对象名。执行(sql)
变量名。费特乔内()
8.通过变量名调用fetchmany(int)方法,获取一条执行的SQL查询语句的多个值,其中int是指定查询数据的个数。比如:
变量名=游标对象名。执行(sql)
变量名。fetchmany(整数值)
9.通过变量名调用fetchall()方法,获取一条执行的SQL查询语句的所有值。比如:
变量名=游标对象名。执行(sql)
变量名。fetchall()
10.当SQL语句是查询语句或插入数据语句时,数据库对象引用commit()方法来提交更新的数据。比如:
数据库名称。提交()
11.当所有操作完成后,关闭光标的使用,即关闭背景指向,调用其close()方法。比如:
光标名称。关闭()
12.当所有操作完成后,关闭数据库的连接,并通过数据库对象名调用其close()方法来关闭它。比如:
数据库对象名称。关闭()
总结,这些是连接和使用数据库最基本的内容。当某个语句出现多次时,可以使用类进行封装。使用时可以直接引入类,调用类中的功能块操作。
示例如下(创建数据库对象时填写相应的内容):
导入cx_Oracle
Conn=cx _ oracle.connect (system , 123456 , monitoring /orcl )
cursor=conn.cursor()
sql=
创建表学生(
sid号主键,
sname varchar2(30岁),
塞奇数
)
sql1= 插入到学生值(:sid,sname,sage)
2= 插入学生值( 100004 ,刘钊, 24 )
sql3= 从学生中选择*
Param=[(100001,张三,19)]
Param1=[(100002,李四,20),(100003,王五,21)]
游标. execute(sql)
打印(“成功执行”)
游标. execute(sql2)
cursor.executemany(sql1,param)
打印(“成功执行”)
cursor.executemany(sql1,param1)
打印(“成功执行”)
conn.commit()
s=游标. execute(sql3)
打印(s.fetchmany(3))
打印(“成功执行”)
cursor.close()
conn.close()
电脑监控端口地址搜索方法:win r,输入cmd,输入命令行,输入netstat-a;可以查看。
总结
这就是本文关于用Python连接Oracle数据库的内容。关于用Python连接Oracle的基本操作,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。