1.背景:

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

打开链接 https://wiki.python.org/moin/DatabaseInterfaces

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

2.模块:

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

2.1 安装模块:

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

安装模块流程:

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

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

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

3.Python DB-API

3.1背景:

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

3.2Python DB-API:

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

这个链接就是python 官方给定的 DB-API 的说明 https://www.python.org/dev/peps/pep-0249/

3.3 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()关闭游标对象

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

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

流程:

4.MS SQL Server 示例:

4.1 导入模块、创建连接:

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

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

4.4 查询 获取行:

5.其他:

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

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

python如何连接数据库_python如何访问数据库相关推荐

  1. python如何查询数据库_python如何访问数据库

    1.背景: python提供了很多数据库接口, 常用的数据库有 MS SQL Server /mysql /oracle 等. 打开链接 https://wiki.python.org/moin/Da ...

  2. python增加一行_python 增加一行数据库

    爬虫工作环境配置 磨刀不误砍柴工,在正式爬虫学习前,需要事先配置工作环境,包括如下: python环境.推荐python3,Windows建议用anaconda,Linux用如下代码 sudo apt ...

  3. python自带模块连接数据库_Python模块Sqlite数据库模块

    Python模块Sqlite数据库模块简介 从Python2.5以后的版本开始引入SQLite,属于Python内置模块,不需要额外安装.Sqlite以小巧快捷著称.SQLite第一个Alpha版本诞 ...

  4. python 清空表格_python 清空表数据库表

    <Greenplum5.0 最佳实践> 迁移数据使用Gptransfer 使用 Gptransfer 命令迁移一个 Greenplum 数据库集群中的数据到另一台集群(metradata, ...

  5. python数据库管理实例_Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1. ...

  6. python fetchall函数_python操作mysql数据库用到的fetchone()函数和fetchall()函数

    在用python操作mysql数据库时,碰到了下面这两个函数,标记一下: fetchone() : 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() : ...

  7. python databaseoperate_python开发_python操作mysql数据库

    1 #-*- coding: utf-8 -*- 2 #python operate mysql database 3 importMySQLdb4 5 #数据库名称 6 DATABASE_NAME ...

  8. python mysql实例_Python使用MySQL数据库的方法以及一个实例

    使用环境:Windows+python3.4+MySQL5.5+Navicat 一.创建连接 1.准备工作,想要使用Python操作MySQL,首先需要安装MySQL-Python的包,在Python ...

  9. python mysql树_python操作mysql数据库

    import pymysql 连接数据库方法1: ip ="192.168.xx.xx" user = 'jxz' password="123456" db=' ...

最新文章

  1. 使用opencv中的merge()函数为BGR图像添加alpha通道
  2. HTML5入门之样板和兼容IE浏览器篇
  3. 【原创】Windows® Embedded CE 6.0 Fundamentals 读书笔记_Chapter 9
  4. simapro学习_北京师范大学环境学院
  5. [ 人机交互 ] 第三次作业 2015080360025秦嘉颍
  6. c语言程序设计安徽区笔试部分,2021年安徽省二级C语言程序设计笔试样题-20210419093521.doc-原创力文档...
  7. buffsize 缓冲区的大小多少合适_对于Redis性能指标监控!你了解多少?
  8. B-Tree及其建立过程
  9. NeurIPS2019获奖论文!7篇论文斩获!微软华裔研究员斩获经典论文
  10. python通过什么连接数据库_如何使用python连接数据库?
  11. Linux TTY/PTS概述
  12. Linux下rc.local不执行问题
  13. ALV 行、列、单元格颜色设置
  14. flutter Android混淆
  15. 大芒果单机修改服务器名字,大芒果服务器怎么创建GM账号?
  16. Navicat Premium 15 注册出现 No All Pattern Found! File Already Patched?
  17. 儿童学计算机编程好处,孩子学编程的好处和坏处
  18. AD报错 unknown pin
  19. VS(Visual Studio)与VC(Visual C++)版本对应关系
  20. 西门子PLC与Unity3D通讯丨串口通讯

热门文章

  1. Latex排版之公式换行,公式左对齐
  2. 「永恒之石」一口气对七个漏洞展开攻击, 与WannaCry较劲?
  3. 【网络安全】今天是网络安全日,谈谈网络安全
  4. 什么牌子无线话筒最好?看完这篇选购不再纠结
  5. 2018清华计算机类专业录取分数线,清华大学2018年各省各批次录取分数线
  6. 手机邮箱如何注册使用?邮箱在手机上使用有什么便捷之处?
  7. 高内聚,低耦合的实现方式
  8. 【HMS Core】调用Health Kit接口出现获取不到数据的情况
  9. android使用gif动图
  10. AliCrackme.apk 破解