码迷,mamicode.com
首页 > 数据库 > 详细

学python(八) 数据库连接

时间:2020-10-16 11:06:00      阅读:35      评论:0      收藏:0      [点我收藏+]

标签:取数   rgb   org   elf   fetchone   nec   单链表   int   做了   

mysql,oracle,sqlserver

目前对oracle做了下实践

1、oracle包安装

可以在pycharm中settings->project interpreter中+按钮来检索cx_oracle添加

可以在网站下载https://pypi.org/project/cx-Oracle/#files 然后通过cmd窗口pip install cx_Oraclexxxxx.whl安装

注意:python如果是32位的,那就下载win32的,还要与python的版本对应上

2、撸代码

数据库连接

handle = cx_Oracle.connect(self.user, self.pwd, self.db)

或者

handle = cx_Oracle.connect(%s/%s@%s:1521/%s % (self.user, self.pwd, self.ip, self.instance))

连接成功后获取游标对象

cursor = handle.cursor()

接下来就可以传输sql语句了

cursor.execute(SELECT * FROM h1.SYSTEM WHERE ROWNUM = 1)

或者

named_params = {cust : 7406, market: 1}
result = cursor.execute(SELECT * FROM h1.cust_info WHERE CUST=:cust and MARKET=:market, named_params)

现在数据已经在游标里了,即从磁盘到内存中了,接下来就是从内存中取数据了

# 取一条
# data=cursor.fetchone()

# 取指定数量条数
# many_data=cursor.fetchmany(8)
# 取所有
all_data=cursor.fetchall()

cursor游标中存的数据是单链表结构,fetchone是移一个位置,fetchall就是游标指针移到末端了,就不能再去取数据了。

用完了要及时释放游标对应的内存数据,即释放空间。

cursor.close()

有时候为了减少内存碎片,close函数只是把对应内存数据清空。

close并不是把游标对象删除,该对象还是存在的。

要释放数据库连接实例,handle对象销毁就释放了。

 

参考资料:

1、https://www.cnblogs.com/isme-zjh/p/11579432.html

 

学python(八) 数据库连接

标签:取数   rgb   org   elf   fetchone   nec   单链表   int   做了   

原文地址:https://www.cnblogs.com/ikel/p/13822492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!