python如何连接数据库_python如何访问数据库
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如何访问数据库相关推荐
- python如何查询数据库_python如何访问数据库
1.背景: python提供了很多数据库接口, 常用的数据库有 MS SQL Server /mysql /oracle 等. 打开链接 https://wiki.python.org/moin/Da ...
- python增加一行_python 增加一行数据库
爬虫工作环境配置 磨刀不误砍柴工,在正式爬虫学习前,需要事先配置工作环境,包括如下: python环境.推荐python3,Windows建议用anaconda,Linux用如下代码 sudo apt ...
- python自带模块连接数据库_Python模块Sqlite数据库模块
Python模块Sqlite数据库模块简介 从Python2.5以后的版本开始引入SQLite,属于Python内置模块,不需要额外安装.Sqlite以小巧快捷著称.SQLite第一个Alpha版本诞 ...
- python 清空表格_python 清空表数据库表
<Greenplum5.0 最佳实践> 迁移数据使用Gptransfer 使用 Gptransfer 命令迁移一个 Greenplum 数据库集群中的数据到另一台集群(metradata, ...
- python数据库管理实例_Python操作MySQL数据库9个实用实例
在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1. ...
- python fetchall函数_python操作mysql数据库用到的fetchone()函数和fetchall()函数
在用python操作mysql数据库时,碰到了下面这两个函数,标记一下: fetchone() : 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() : ...
- python databaseoperate_python开发_python操作mysql数据库
1 #-*- coding: utf-8 -*- 2 #python operate mysql database 3 importMySQLdb4 5 #数据库名称 6 DATABASE_NAME ...
- python mysql实例_Python使用MySQL数据库的方法以及一个实例
使用环境:Windows+python3.4+MySQL5.5+Navicat 一.创建连接 1.准备工作,想要使用Python操作MySQL,首先需要安装MySQL-Python的包,在Python ...
- python mysql树_python操作mysql数据库
import pymysql 连接数据库方法1: ip ="192.168.xx.xx" user = 'jxz' password="123456" db=' ...
最新文章
- 使用opencv中的merge()函数为BGR图像添加alpha通道
- HTML5入门之样板和兼容IE浏览器篇
- 【原创】Windows® Embedded CE 6.0 Fundamentals 读书笔记_Chapter 9
- simapro学习_北京师范大学环境学院
- [ 人机交互 ] 第三次作业 2015080360025秦嘉颍
- c语言程序设计安徽区笔试部分,2021年安徽省二级C语言程序设计笔试样题-20210419093521.doc-原创力文档...
- buffsize 缓冲区的大小多少合适_对于Redis性能指标监控!你了解多少?
- B-Tree及其建立过程
- NeurIPS2019获奖论文!7篇论文斩获!微软华裔研究员斩获经典论文
- python通过什么连接数据库_如何使用python连接数据库?
- Linux TTY/PTS概述
- Linux下rc.local不执行问题
- ALV 行、列、单元格颜色设置
- flutter Android混淆
- 大芒果单机修改服务器名字,大芒果服务器怎么创建GM账号?
- Navicat Premium 15 注册出现 No All Pattern Found! File Already Patched?
- 儿童学计算机编程好处,孩子学编程的好处和坏处
- AD报错 unknown pin
- VS(Visual Studio)与VC(Visual C++)版本对应关系
- 西门子PLC与Unity3D通讯丨串口通讯