1. 安装和导入模块
以 Python 中的 SQLAlchemy 模块为例,配合使用其他第三方模块,SQLAlchemy 能够操作各种数据库,包括 Oracle、PostgreSQL、MySQL、SQLite、SQL Server 等等,如果你还没有安装,可以通过以下命令进行安装:
要测试 SQLAlchemy 模块是否正确安装,可以在 Jupyter Lab 中运行以下代码:
如果该模块正确安装,就会输出版本号,我目前使用的版本是 1.3.20。
不同的数据库,需要安装不同的第三方模块,比如说,要操作 Oracle,那么通常需要先安装 cx_Oracle:
2. 连接数据库
在开始操作数据库之前,需要先创建一个数据库引擎,然后再连接数据库:
其中用户名、密码和 IP 地址等基本信息,要根据自己的实际情况进行修改。
3. 创建表
为了演示用 Python 自动操作数据库,假设你的数据库账号拥有创建表的权限,那么就可以执行下面的语句,实现创建一个新的表:
4. 增删改查
数据库的常用操作包括增、删、改、查,下面分别简单演示一下。
首先,增加两行模拟用的数据:
其次,删除其中一行:
然后,修改另一行数据:
虽然 SQLAlchemy 非常强大,但是如果能配合 Pandas 一起使用,那么就能双剑合璧,从而更好地解决数据处理和分析的问题。
比如说,按条件查询指定的数据:
5. 数据备份和删除表
有时候,我们还需要把数据备份到数据库中,如果直接使用 Pandas 的 to_sql 函数,那么字符串类型的列会被自动存储为 CLOB,这样后续处理起来就会比较麻烦。
我们可以用一个函数,实现自动转换为 NVARCHAR 类型:
这个功能还可以应用于不同数据库之间的数据迁移。比如说,从一个 MySQL 数据库中查询指定的数据,保存为 df,然后再附加到 Oracle 数据库中。
如果设置好相应的定时任务,就能实现用 Python 自动操作数据库,从而自动完成相关工作。
最后,我们删除上面演示用的两个表,并关闭数据库连接,节约资源,减少浪费,这是一个很好的习惯。
小结
本文介绍了用 Python 自动操作数据库的一些常用方法,从 SQLAlchemy 和 cx_Oracle 模块的安装和导入,到连接数据库,再到创建表和增删改查,最后对数据进行备份和删除表,这些操作都可以在 Jupyter Lab 中一键执行,自动完成一些数据库的相关操作。
事实上,你可以根据自己的实际情况,修改数据库的类型和字符串连接等信息,并执行各种各样的 SQL 语句,自动完成更加复杂的数据库操作。
内容转载自:林骥
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有