python sqlalchemy连接oracle_Python SQLalchemy 基础操作之数据库增删改查

python sqlalchemy连接oracle_Python SQLalchemy 基础操作之数据库增删改查_第1张图片

ORM 全称 Object Relational Mapping, 即对象关系映射。简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系。这样,我们要操作数据库,数据库中的表或者表中的一条记录就可以直接通过操作类或者类实例来完成。

SQLAlchemy 是Python 社区最知名的 ORM 工具之一,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型。

SQLAlchemy 优点:

简洁易读:将数据表抽象为对象(数据模型),更直观易读。

可移植:封装了多种数据库引擎,面对多个数据库,操作基本一致,代码易维护。

更安全:有效避免SQL注入。

本文通过介绍Sqlite数据库的常用操作,来介绍一下SQLAlchemy 的使用方法。SQLAlchemy 具体的实现方式是将数据库表转换为Python类,其中数据列作为属性,数据库操作作为方法。

SQLAlchem安装

Sqlite3是Python3标准库不需要另外安装,只需要安装SQLAlchemy即可。

pip install sqlalchemy

ORM 创建数据库连接

Sqlite3 创建数据库连接就是创建数据库,而其他MySQL等数据库,需要数据库已存在,才能创建数据库连接。

SQLite

以相对路径形式,在当前目录下创建数据库格式如下:

from sqlalchemy import create_engine engine = create_engine('sqlite:///AiTestOps.db')

以绝对路径形式创建数据库,格式如下:

from sqlalchemy import create_engine engine = create_engine('sqlite:///G:python_sqlAiTestOps.db')

其它常用数据库的创建数据库连接方法

SQLAlchemy用一个字符串表示连接信息:

'数据库类型+数据库驱动名称://用户名:密码@IP地址:端口号/数据库名'

PostgreSQL数据库

from sqlalchemy import create_engine # default, 连接串格式为 ''数据库类型+数据库驱动://数据库用户名:数据库密码@IP地址:端口/数据库'' engine = create_engine('postgresql://username:[email protected]:9527/AiTestOps') # psycopg2 engine = create_engine('postgresql+psycopg2://username:[email protected]:9527/AiTestOps') # pg8000 engine = create_engine('postgresql+pg8000://username:[email protected]:9527/AiTestOps')

MySQL数据库

from sqlalchemy import create_engine # default,连接串格式为 ''数据库类型+数据库驱动://数据库用户名:数据库密码@IP地址:端口/数据库'' engine = create_engine('mysql://username:[email protected]:9527/AiTestOps') # mysql-python engine = create_engine('mysql+mysqldb://username:[email protected]:9527/AiTestOps') # MySQL-connector-python engine = create_engine('mysql+mysqlconnector://username:[email protected]:9527/AiTestOps')

Oracle数据库

from sqlalchemy import create_engine # default,连接串格式为 ''数据库类型+数据库驱动://数据库用户名:数据库密码@IP地址:端口/数据库'' engine = create_engine('oracle://username:[email protected]:9527/AiTestOps') # cx_oracle engine = create_engine('oracle+cx_oracle://username:[email protected]:9527/AiTestOps')

我们以在当前目录下创建SQLite

你可能感兴趣的:(python)