我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python操作oracle和mysql

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python操作oracle和mysql

1、安装相关包


yum install python-devel mysql-devel zlib-devel openssl-devel


 


2、安装setup、mysql-python包


wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz



解压,各自都分别执行


python setup.py build


python setup.py install


 


3、尝试连接


#!/usr/bin/evn python

#-*- coding: utf-8 -*-

import os, sys

import MySQLdb

#try:

db=MySQLdb.connect(host = 'localhost', user='root', passwd='oracle', db='mysql', unix_socket='/usr/local/mysql/mysql.sock')

#except MySQLdb.ERROR,e:

#  print "Error %d:%s"%(e.args[0],e.args[1])

#  exit(1)

cursor=db.cursor()

cursor.execute('select * from user')

result_set=cursor.fetchall()

print result_set

cursor.close()

db.close()



如果有结果那就成功了。


 


4、插入MYISAM引擎


#!/usr/bin/evn python

#-*- coding: utf-8 -*-

import os, sys

import MySQLdb

#try:

db=MySQLdb.connect(host = 'localhost', user='root', passwd='oracle', db='mysql', unix_socket='/usr/local/mysql/mysql.sock')

#except MySQLdb.ERROR,e:

#  print "Error %d:%s"%(e.args[0],e.args[1])

#  exit(1)

cursor=db.cursor()

cursor.execute('use fastbase;')

for x in range(60000):

  cursor.execute("insert into header(CIP, CMAC, CBIOS, UUID, SEQ, SALT, ALG, CHK) values('%s','AABBCCDDEEFF','',%s,%s,123456,'SHA','ABCDEFGHIJKLMNOPQRSTUVWXYZ123456');"%(x,x,x))

result_set=cursor.fetchall()

print result_set

cursor.close()

db.close()


 


INSERT HEADER表,MYISAM,60000数据,10.68s,大小4.6MB


INSERT HEADER表,MYISAM,3000000数据,9m44s,大小240MB


INSERT CONTENT表,ARCHIVE,15000000数据,39m14s,大小74MB


SELECT HEADER表,MYISAM,3000000数据,27.50s,大小240MB


SELECT CONTENT表,ARCHIVE,15000000数据,>25m,大小74MB


SELECT CONTENT表,MYISAM,15000000数据,>5m52s,大小1.7GB


SELECT CONTENT表,MYISAM,2500000数据,16.00s,大小273MB


SELECT CONTENT表,MYISAM,2500000数据,17.73s,大小13MB


SELECT CONTENT ON CONTENT, ARCHIVE, 2500000数据,top 100,3m45s。


SELECT CONTENT ON CONTENT, ARCHIVE, 2500000数据,>12m52s。


SELECT CONTENT ON CONTENT, MYISAM, 带索引,2500000数据,1m00s。


 


使用FASTJOIN技术,ARCHIVE引擎,两边100条,2.9s。


使用FASTJOIN技术,ARCHIVE引擎,两边10000条,26s。


使用FASTJOIN技术,ARCHIVE引擎,两边100000条,2m13.18s。


使用FASTJOIN技术,MYISAM引擎,带索引,两边100000条,27.01s。


使用FASTJOIN技术,MYISAM引擎,带索引,两边2500000条,7m30s。





5、插入ARCHIVE引擎


同上


60000数据,9.31s,大小350KB


 


6、分割字符串、写文件


#!/usr/bin/evn python


#-*- coding: utf-8 -*-


import os, sys


str='abcd efg hi j 123'


output=str.split()


print output


print(output[1:])


print(output[:1])


print(output[1])


file=open('/tmp/wr.txt','a')


file.write(output[1])


file.write('\n')


file.close()




7、操作ORACLE

首先安装cx_Oracle

前往http://cx-oracle.sourceforge.net/下载

然后使用rpm对应python版本进行安装

安装完了后还需要确认安装了oracle客户端

否则会出现ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory



此外版本也要注意是64位的还是32位的

另外要加入 

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/11.2/client/lib 

否则python无法识别



ORACLE_HOME也要指定,才能执行



sqlplus user/passwd@10.0.0.5/hbdb或sqlplus user/passwd@MYDB

如果出现:sqlplus: error while loading shared libraries: /usr/local/oracle/libnnz11.so: cannot restore segment prot after reloc: Permission denied

最简单的解决方法莫过于将SElinux设置位PERMISSIVE状态:

[root@localhost ~]# getenforce

Enforcing

[root@localhost ~]# setenforce 0

[root@localhost ~]#  getenforce

Permissive


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python操作oracle和mysql

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python操作mysql

# rpm -qa |grep MySQL-python 查询是否有mysqldb库MySQL-python-1.2.3-0.3.c1.1.el6.x86_64>>> import MySQLdb #导入mysqldb模块>>> conn
2023-01-31

Python操作MySQL(2)

查询数据使用execute()函数执行查询sql语句后,得到的只是受影响的行数,并不能真正拿到我们查询的内容。没关系,这里游标cursor中还提供了三种提取数据的方法:fetchone、fetchmany、fetchall,每个方法都会导致
2023-01-31

python关于Mysql操作

一.安装mysqlwindows下,直接下载mysql安装文件,双击安装文件下一步进行操作即可,下载地址:http://dev.mysql.com/downloads/mysql/Linux下的安装也很简单,除了下载安装包进行安装外,一般的
2023-01-31

python对mysql的操作

http://sourceforge.net/projects/mysql-python如果你不确定你的python环境里有没有这个库,那就打开python shell,输入 import MySQLdb,如果返回错误信息,那就表示你的机器
2023-01-31

python如何操作mysql

mysql 使用 启动服务sudo systemctl start mysql pip3 install pymysqlpython 操作数据库:定义类import pymysqlclass MyDb():def __init__(self
2022-05-13

用Python如何操作Oracle

Iamlaosong文Python没有自带oracle驱动,cx_Oracle可以实现Python访问oracle的目的,如果要访问Oracle,首先要下载安装cx_Oracle。下载地址:https://oracle.github.io/
2023-01-31

python操作Mysql实例

本文介绍了Python操作mysql,执行SQL语句,获取结果集,遍历结果集,取得某个字段,获取表字段名,将图片插入数据库,执行事务等各种代码实例和详细介绍。 实例1、获取MYSQL的版本 #!/usr/bin/env python  im
2023-01-31

Python操作MySQL(二) ORM

SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。一、安装pip3 install SQL
2023-01-31

Python操作Redis和Memcac

MemcachedMemcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的
2023-01-31

python 操作mysql数据中fetchone()和fetchall()方式

fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() 返回多个元组,即返回多个记录(rows),如果没有结果 则返回 () 需要注明:在MySQL中是NULL,而在Pyth
2022-05-24

Python 操作 MySQL数据库

开发环境与配置win_x64Ubuntu14.04Python3.xpip安装pymysql模块 直接使用pip安装 pip install pymysql win64上直接在cmd中执行 连接本地数据库使用模块pymysql连接数据库本地
2022-05-30

python操作mysql数据库

一、数据库基本操作 1. 想允许在数据库写中文,可在创建数据库时用下面命令 create database zcl charset utf8; 2. 查看students表结构 desc students; 3. 查看创建students表
2022-06-04

python 操作MySQL数据库

1.connectdef conn(ip,user,password,database): con = mdb.connect(ip,user,password,database) cur = con.cursor() r
2023-01-31

编程热搜

目录