{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

python如何进行数据库操作?

h9911h9911 回答0 收藏1
问题描述:有哪些库可以用。
收藏问题

4条回答

Shihira

Shihira

回答于2022-06-28 14:13

这里以mysql数据库为例,简单介绍一下python如何操作mysql数据库(增删改查),实验环境win10+python3.6+pycharm5.0,主要内容如下:

为了更好地说明问题,这里我新建了一个数据表student,主要有id,name,age,address这4个字段,内容如下:

1.安装pymysql,这个是python专门用于操作mysql数据库的一个包,直接在cmd窗口输入命令“pip install pymysql”就行,如下:

2.安装成功后,我们就可以进行数据库的操作了,这里以数据库的增删改查为例,简单介绍一下:

  • 查询数据:这里先建立连接,需要传入host,user,passwd,db,charset这5个参数,接着就可以进行正常的数据库的查询了:

程序运行截图如下,已经成功获取到数据:

  • 增加数据:基本步骤与查询数据类似,唯一的区别是,执行完sql后,需要commit提交,不然,不能插入到数据库中,代码如下:

程序运行截图如下,已经成功插入数据库:

  • 修改数据:这个与上面插入的类似,也需要commit提交到数据库,才能生效:

程序运行截图如下:

  • 删除数据:与上面类似,也许commit到数据库,才能从数据库中删除:

程序运行截图如下,已经成功删除数据:

至此,我们就完成了数据库的操作(增删改查)。总的来说,整个过程很简单,连接数据,然后执行sql,再取回结果就行,sqlite等关系型数据库类似,这我就不赘述了,感兴趣的可以到网上搜一下相关资料,后期,熟悉基本操作后,也可以借助sqlalchemy完成数据库的操作,也很简单,希望以上分享的内容能对你有所帮助吧。

评论0 赞同0
  •  加载中...
王晗

王晗

回答于2022-06-28 14:13

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 语句,自动完成更加复杂的数据库操作。

内容转载自:林骥

评论0 赞同0
  •  加载中...
JerryWangSAP

JerryWangSAP

回答于2022-06-28 14:13

Python对数据库操作通过接口或者ORM对数据库进行操作。

ORM,比较有名的是SQLALchemy

  • SQLALchemy是一个在MIT许可下发布的开源SQLORM。它专为高效率和高性能的数据库访问设计的。采用数据映射模式。SQLALchemy的工作单元主要通过session中控制每个对象的生命周期。

通过接口的模式操作数据库,比较常用的有mysqldb

MySQLdb是用于Python链接mysql数据库的接品,实现了python数据库API规范V2.0。

  • MySQLdb.connect表示连接数据库

  • cursor是游标,表示使用cursor方法操作游标

  • execute是具体执行的动作,包括数据库的增删改操作

  • close表示关闭数据库

上面主要介绍了两种连接数据库的方式,介绍了其中两个比较典型的包。

评论0 赞同0
  •  加载中...
stonezhu

stonezhu

回答于2022-06-28 14:13

各种各样的数据库mysql,redis,一般在官网都会有驱动库

步骤:

1 进入到对应数据库的官网,查找库(模块)的名称

2 使用pip install 库名称

3 通过官网提供的API编写代码操作数据库

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<