首页 > 数据库 >python连接mysql、oracle数据库

python连接mysql、oracle数据库

时间:2023-12-06 21:55:54浏览次数:42  
标签:cursor python oracledb connection mysql oracle config

python版本:3.10.5
mysql版本: 8.0.27
oracle版本:oracle 12c

一、python连接mysql数据库

  1. 安装第三方依赖PyMySQL, 终端执行如下命令:
pip install PyMySQL
  1. PyMySQL使用
import pymysql

config = {
        'host': '127.0.0.1',
        'port': 3306,
        'user': 'root',
        'password': 'root',
        'database': 'mysql',
}
# 获取连接
connection = pymysql.connect(**config)
# 获取游标
cursor = connection.cursor()
# 执行sql
cursor.execute("select now() from dual")
# 提取结果
print(cursor.fetchone())
# 关闭资源
cursor.close()
connection.close()

# 使用with语句可以不用手动关闭资源
with pymysql.connect(**config) as conn:
    with conn.cursor() as cur:
        cur.execute("select now() from dual")
        print(cur.fetchone())

二、python链接oracle数据库

  1. 安装第三方依赖oracledb (cx_oracle),终端执行如下命令:
pip install oracledb

官方文档:https://python-oracledb.readthedocs.io/en/latest/user_guide/installation.html
2. oracledb使用

import oracledb

config = {
    'user': 'system',
    'dsn': '127.0.0.1:1521/orcl',
    'password': '123456'
}

with oracledb.connect(**config) as connection:
    with connection.cursor() as cursor:
        cursor.execute("select sysdate from dual")
        print(cursor.fetchone())
# where子句参数赋值
with oracledb.connect(**config) as connection:
    with connection.cursor() as cursor:
        cursor.execute("select sysdate from dual where 1=:param", [1])
        print(cursor.fetchone())

标签:cursor,python,oracledb,connection,mysql,oracle,config
From: https://www.cnblogs.com/mmcode/p/17880602.html

相关文章

  • python的基础1
    基础笔记1.int转整数的时候不能转字符串:int('123'),这样会直接报错。但是使用flost的时候是可以转成小数的,但是也只能是由数字组合的字符串才可以,里面不能包含除了数字之外的所有的字符2.相除的时候,有小数点的是用/,不需要小数的时候使用//(小数点后的直接舍弃)3.全部转换为大写,判......
  • 【Python】【OpenCV】凸轮廓和Douglas-Peucker算法
    针对遇到的各种复杂形状的主体,大多情况下,我们可以求得一个近似的多边形来简化视觉图像处理,因为多边形是由直线组成的,这样就可以准确的划分区域来便捷后续的操作。 cv2.arcLength()Method:参数:curve:要计算周长的轮廓,可以是一个矩形、圆形、多边形等封闭曲线。closed:一个布尔......
  • python中级之异常处理
    什么是异常##异常是程序运行时可能发生的错误或意外情况##本篇博客主要写的是异常相关知识,在Python代码的编写过程中经常会出现异常,一般情况下程序员都叫做出BUG了,这个BUG就是臭虫的意思,表示程序出臭虫了。当然很多时候我们也戏称“无BUG,不编程”。异常的分类-内......
  • python异常处理
    【一】什么是异常异常是程序运行时可能发生的错误或意外情况。在Python中,异常是一种对象,表示程序执行期间发生的错误。当出现异常时,程序的正常流程会被中断,而是跳转到异常处理流程。【1】BaseException(所有异常的基类)SystemExit:解释器请求退出KeyboardInterrupt:用户中......
  • python中级之深浅拷贝
    深浅拷贝异同相同点:无论深拷贝还是浅拷贝都会创建一个新对象。即:拷贝出来的对象的id不同。不同点:浅拷贝:只拷贝了对象,对象内的元素并不会发生拷贝。深拷贝:不仅拷贝对象,对象内的元素也会发生拷贝。浅拷贝浅拷贝举例来看一个浅拷贝的例子:importcopya=[1,2,[3,4]]......
  • 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库
    写在前面这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的CRUD吧。FlaskSQLAlchemy的使用1、FlaskSQLAlchemy简介FlaskSQLAlchemy是基于Flaskweb框架和SQLAlchemyORM(对象关系映射)的工具......
  • 【python基础之数据类型的内置方法】--- 数据类型的内置方法
    title:【python基础之数据类型的内置方法】---数据类型的内置方法date:2023-12-0120:54:06updated:2023-12-0620:30:00description:【python基础之数据类型的内置方法】---数据类型的内置方法cover:https://home.cnblogs.com/u/dream-ze/【一】八大基......
  • python利用依赖注入实现模块解耦
    python不是编译型语言,比较容易出现循环依赖的情况,比如模块A依赖模块B,而模块B反过来依赖模块A.当然可以通过重构解决此问题,比如合并此两个模块.但是还有一些技术可以帮助实现解耦.比如之前我写过的基于消息的机制,把模块间的依赖转换为对消息的依赖.本文章介绍另外一......
  • python assert用法
    python中assert用法。具体分析如下1、assert语句用来声明某个条件是真的。2、如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。3、当assert语句失败的时候,会引发一AssertionEr......
  • MySQL数据库的CURD
    一、数据库的CURD对数据库进行增(Create)、改(Update)、查(Retrieve)、删(Delete)等操作。CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]db_name[create_specification[,create_specification]...]IFNOTEXISTS表示只有数据库不存在的时候才创建,如果存在同名就不再执......