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. (转)windows身份验证登入数据库 iis 无法访问数据库

    原文地址:http://www.cnblogs.com/d-xtl/archive/2011/12/27/2303890.html System.Data.SqlClient.SqlException ...

  2. python如何连接数据库_python如何访问数据库

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

  3. python自带的数据库_Python小白的数据库入门

    前言 SQL数据库数据库SQL语言入门SQL简介SQL 的作用 SQL语句分类 SQLite 数据库SQLite 中的数据类型 DDL语句创建表 删除表 修改表 DML语句添加 删除 修改 查询 Py ...

  4. python 并发 数据库_python写入mysql数据库

    scrapy爬虫成长日记之将抓取内容写入mysql数据库 前面小试了一下scrapy抓取博客园的博客(您可在此查看scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据),但是前面抓取 ...

  5. python的sqlite数据库_Python操作SQLite数据库

    ### 连接数据库 从2.5版本开始,Python的标准库中就有了一个专门用于SQLite的sqlite3模块.连接SQLite数据库方式如下: ~~~ import sqlite3 as dbapi ...

  6. python建立sqlite数据库_python sqlite3 创建数据库

    Python标准库14 数据库 (sqlite3) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关 ...

  7. python连接数据库的技术_Python操作MySQL数据库的三种方法

    (1) 什么是MySQLdb? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. ...

  8. python如何收集数据库_python 整理web数据库

    从GitHub中整理出来的15个最受欢迎的Python开源框架,你喜欢哪个 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信, ...

  9. python写入列表数据_python列表写入数据库

    Python学习(22)--文件操作1 Python学习(22)--文件操作1 之前我们介绍到的数据类型,如列表,字典或者一个数字,字符等等.都是在程序运行时存储在内存中的,存储在内存中的数据不稳定, ...

最新文章

  1. Social learning With Bayesian Agent and Random Decision Making
  2. 大型软件公司.net面试题!一定得看(附答案)
  3. fmincon函数求解过程中出现无解的情况
  4. mysql run sql files_如何在Eclipse DTP中運行多個.sql文件
  5. W10关闭不必要的服务
  6. 标准C程序设计七---77
  7. csv java 科学计数法_javaweb开发页面数字过长显示科学计数法的问题
  8. CSS background 属性
  9. homebrew下安装mysql_Mac下homebrew安装Mysql以及配置问题
  10. C#基础 面试中常出现的问题
  11. kindle字体设置
  12. zynq操作系统: Linux驱动开发串口篇
  13. jquery版本之间的冲突
  14. 饥荒联机版服务器启动慢_饥荒联机版大型攻略——简介与目录
  15. vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤
  16. win10怎样取消电脑自动锁屏
  17. 老王的JAVA基础课:序言
  18. 事件的三个阶段:捕获阶段 目标阶段 冒泡阶段
  19. springmvc接收用户提交的数据
  20. BrokenPipeError: [Errno 32] Broken pipe 基于pytorch的训练 num_worker参数理解

热门文章

  1. Android 自定义控件---SpreadView
  2. 纯对流问题matlab,matlab一个2D差分法解决对流扩散方程
  3. TP SL400 拆机 清理风扇小记
  4. 快速了解 AMP (Accelerated Mobile Pages)
  5. python sqlite3 带密码_Python爬虫+Flask,带你创建个网站!
  6. Facebook Live的高可用架构
  7. 戏说 .NET GDI+系列学习教程(二、Graphics类的方法)
  8. 我的第一个SAP PROXY ABAP Program(SAP PO 开发五)
  9. oracle 审计drop单张表,清理统一审计 AUD$UNIFIED 基表部份数据
  10. “抢占心智”水土不服,智能营销3.0破局车市营销?