python如何访问数据库

python如何访问数据库,第1张

1背景:

python提供了很多数据接口, 常用的数据库有 MS SQL Server /mysql /oracle 等。

打开链接 >

是python 关于数据库接口的一个总结 , 可以看到python支持的访问的数据库系统。

2模块:

python 主要是通过模块和数据库连接的。

21 安装模块:

如果使用anconda,本身就会集合很多模块,不需要手动安装。如果用pycharm就要手动安装模块。

安装模块流程:

下载模块扩展包放到路径下——>cmd找到相应路径——> pip install +扩展包名字

下面列举一些常用连接数据库的模块:pymssql / sqlite3/ PyMySQL/pyodbc/odbc/adodbapi

不同模块连接的数据库不同, 支持的版本系统有的也不一样。但是大体用法都是相近的, 因为有DB-API

:《Python教程》

3Python DB-API

31背景:

在没有DB-API 之前, 不同数据库有不同的数据库接口程序, 这就导致python 访问 database 的接口程序非常混乱。如果我们学习了python 访问 mysql 的接口程序, 然后要切换到另一个数据库上, 我们还要在学习另外一个数据库的接口程序。python DB-API就是为了解决接口程序混乱而生成的。有了DB-API, 在不同数据库上移植代码就变得简单的多了。

32Python DB-API:

Python 定义了一套 *** 作数据库的 DB-API 接口,它是一个规范,定义了一系列必须的对象和数据库存取方式,以便为不同的底层数据库系统提供一致的访问接口

这个链接就是python 官方给定的 DB-API 的说明 >

33 Python DB--API的内容:

连接对象:

Connect()创建连接:host/server /user/password/db connect方法生成一个connect对象, 我们通过这个对象来访问数据库。符合标准的模块都会实现connect方法。

close():关闭连接

commit():提交当前事务。做出某些更改后确保已经进行了提交,这样才可以将这些修改真正地保存到database中

rollback() 回滚上一次调用 commit()以来对数据库所做的更改

cursor():创建游标。系统为用户开通的一个数据缓冲区,用于存放SQL语句执行结果。cursor游标是有状态的,它可以记录当前已经取到结果的第几个记录了,因此,一般你只可以遍历结果集一次。在上面的情况下,如果执行fetchone()会返回为空。这一点在测试时需要注意

游标对象:

Execute()执行一个数据库查询或命令。 execute 执行sql 语句之后运行的结果不会直接output 出来 , 而是放到了一个缓存区, 要用 fetch语句+print 可以查询sql运行的结果

fetchone ()得到结果集的下一行

fetchmany(size)得到结果集的下几行

fetchall()返回结果集中剩下的所有行

rowcount 返回影响的行数

Close()关闭游标对象

34Python DB--API的工作原理及流程:

如图所示如果把python 和数据库比作两个不同的地点, connection 就是路, 能连接python和database。cursor就像在路上行驶的小货车, 可以用于执行sql 语句, 以及存储sql 运行的结果。

流程:

4MS SQL Server 示例:

41 导入模块、创建连接:

42 创建游标: 游标创建之后就可以对数据库进行查询更改了!

43对数据进行 *** 作(创建表、插入行、更新数据、增加列、删除行、列、表):

44 查询 获取行:

5其他:

使用游标的时候要注意, 每次连接只能有一个游标查询处于活跃状态。 code演示:

execute()循环和 executemany() 插入100000 条数据测速:

方法一:使用Flask等框架

将查询结果赋值给users

使用params=Locals()传递给HTML页面,

在页面中,使用循环,接收数据:

{% for u in paramsusers %}

<li>

<div class="gold-list-row-1">{{uid}}</div>

<div class="gold-list-row-2">{{uname}}</div>

<div class="gold-list-row-3">{{usfzh}}</div>

<div class="gold-list-row-4">{{uage}}</div>

<div class="gold-list-row-5">{{ugender}}</div>

</li>

{% endfor %}

=========================

方法二:直接使用pymysql 执行SQL语句

将查询结果赋值给users,由于结果里users包含的是元组,前台调用时使用

{{u[0]}}

{{u[1]}}

{{u[2]}}

可以,但难易程度取决于在下面哪个阶段获取这个数据

客户端软件-->客户端网卡-->路由-->(网络)-->服务器网卡-->>

使用Python做爬虫是很广泛的应用场景,那就涉及到了Python是如何获取接口数据的呢?Python拥有很多很强大的类库,使用urllib即可轻松获取接口返回的数据。

展开

工具原料Python开发工具url接口,用于请求获取数据

方法/步骤分步阅读

1

/4

首先新建一个py文件,导入所需的类库,urllib,json等。

2

/4

声明api的url地址,和构造请求头。

3

/4

使用urlopen方法发起请求并获取返回的数据。

4

/4

最后就是对返回字符串的处理了。比如字符串的截取,字符串的转换成json对象,转换成字段,再获取对应key的值。

使用Python3实现>

这么具体的问题,找通用demo很难啊,个人觉得问题的难点不在Python。

1 获取什么服务器性能数据和如何获取,可以请教公司内部运维。

2 获取什么数据库性能数据和如何获取,可以请教公司内部DBA。

3 以上两点搞定了,才能确定临时数据存储结构和最终数据库表结构。

以上三点是关键,Python的事情就简单多了,提供一种思路:一分钟一次,实时性不高,每台服务器用cron部署一个apy,用于获取性能数据,在某一台服务器有一个bpy,负责获取所有服务器apy产生的数据,然后写入数据库;apy如何上报到bpy取决于你擅长什么,如果熟悉网络编程,用apy做客户端上报到服务端bpy,如果熟悉shell的文件同步(如rsync),apy只写本地文件,bpy调用csh(封装rsync)拉取远程文件。

以上就是关于python如何访问数据库全部的内容,包括:python如何访问数据库、python从mysql数据库提取出来的数据怎么在html里显示、python可以获取post向网站后台数据库批量导入数据吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10152145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存