位置: 编程技术 - 正文

Python连接数据库学习之DB-API详解(如何用python连接数据库)

编辑:rootadmin

推荐整理分享Python连接数据库学习之DB-API详解(如何用python连接数据库),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python3连接数据库,python连接数据库语句,python连接数据库后怎样查询,python连接数据库修改数据,python连接数据库报错,python连接数据库步骤,如何用python连接数据库,python连接数据库步骤,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

大家都知道在Python中如果要连接数据库,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用时都是采用游标的方式,所以就不得不学习Python DB-API。

Python所有的数据库接口程序都在一定程度上遵守 Python DB-API 规范。DB-API定义了一系列必须的对象和数据库存取方式,以便为各种底层数据库系统和多种多样的数据库接口程序提供一致的访问接口。由于DB-API 为不同的数据库提供了一致的访问接口, 在不同的数据库之间移植代码成为一件轻松的事情。

Python连接数据库流程:

使用connect创建connection连接

connect 方法生成一个 connect 对象, 我们通过这个对象来访问数据库。符合标准的模块都会实现 connect 方法。

connect 函数的参数如下所示:

user Username password Password host Hostname database Database name dsn Data source name

数据库连接参数可以以一个 DSN 字符串的形式提供,示例:connect(dsn='host:MYDB',user='root',password=' ')当然,不同的数据库接口程序可能有些差异,并非都是严格按照规范实现,例如MySQLdb则使用 db 参数而不是规范推荐的 database 参数来表示要访问的数据库:

MySQLdb连接时可用参数

host: 数据库主机名.默认是用本地主机 user: 数据库登陆名.默认是当前用户 passwd: 数据库登陆的秘密.默认为空 db: 要使用的数据库名.没有默认值 port: MySQL服务使用的TCP端口.默认是 charset: 数据库编码

psycopg2连接时可用参数:

dbname ? 数据库名称 (dsn连接模式) database ? 数据库名称 user ? 用户名 password ? 密码 host ? 服务器地址 (如果不提供默认连接Unix Socket) port ? 连接端口 (默认) Python连接数据库学习之DB-API详解(如何用python连接数据库)

其中connect对象又有如下方法:

close():关闭此connect对象, 关闭后无法再进行操作,除非再次创建连接 commit():提交当前事务,如果是支持事务的数据库执行增删改后没有commit则数据库默认回滚 rollback():取消当前事务 cursor():创建游标对象

使用cursor创建游标对象

cursor游标对象又有如下属性和方法:

常用方法:

close():关闭此游标对象 fetchone():得到结果集的下一行 fetchmany([size = cursor.arraysize]):得到结果集的下几行 fetchall():得到结果集中剩下的所有行 excute(sql[, args]):执行一个数据库查询或命令 excutemany(sql, args):执行多个数据库查询或命令

常用属性:

connection:创建此游标对象的数据库连接 arraysize:使用fetchmany()方法一次取出多少条记录,默认为1 lastrowid:相当于PHP的last_inset_id()

其他方法:

__iter__():创建一个可迭代对象(可选) next():获取结果集的下一行(如果支持迭代的话) nextset():移到下一个结果集(如果支持的话) callproc(func[,args]):调用一个存储过程 setinputsizes(sizes):设置输入最大值(必须有,但具体实现是可选的) setoutputsizes(sizes[,col]):设置大列 fetch 的最大缓冲区大小

其他属性:

description:返回游标活动状态(包含7个元素的元组):(name, type_code, display_size, internal_size, precision, scale, null_ok)只有 name 和 type_cose 是必需的 rowcount:最近一次 execute() 创建或影响的行数 messages:游标执行后数据库返回的信息元组(可选) rownumber:当前结果集中游标所在行的索引(起始行号为 0)

DB-API只中的错误定义

错误类的层次关系:

数据库操作示例

代码如下:

其他参考文档:

Python中字典的setdefault()方法教程 前言在python基础知识中有说过,字典是可变的数据类型,其参数又是键对值。setdefault()方法和字典的get()方法在一些地方比较相像,都可以得到给定键对

python3.5实现socket通讯示例(TCP) TCP连接:tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接。TCP连接的一端与客户端套接字相互联系

关于Python中Inf与Nan的判断问题详解 大家都知道在Python中可以用如下方式表示正负无穷:float("inf")#正无穷float("-inf")#负无穷利用inf(infinite)乘以0会得到not-a-number(NaN)。如果一个数超出infinite

标签: 如何用python连接数据库

本文链接地址:https://www.jiuchutong.com/biancheng/380044.html 转载请保留说明!

上一篇:使用Python中的tkinter模块作图的方法(python t())

下一篇:Python中字典的setdefault()方法教程(python中字典的键值对)

  • 怎么把销项税额进项税额给转掉
  • 个税分类所得税率
  • 完税价格是含税价格吗?
  • 工商年报纳税总额包括哪些税
  • 消费税可以在企业抵扣吗
  • 结转本月发生的费用
  • 对公账户转个人账户
  • 建筑企业增值税纳税义务发生时间如何确定
  • 原材料作废品处理方法
  • 电子发票和增值税电子普通发票的区别
  • 调表不调账最后会有什么问题
  • 报废资产处置收入怎么计税
  • 护栏发票税点
  • 工程款增值税怎么算
  • 特殊建造行业
  • 房地产未售商品房已办房产证要交房产税么
  • 金税盘抵扣增值税申报
  • 记账凭证领用材料如何填写
  • 个人承包公司的经营所得怎么算
  • 外购消费品已纳消费税
  • 企业上月份销售收入在本月份发生销售折让时
  • 增值税专用发票校验码是哪个位置
  • 销售劳务的税率是多少
  • 受托加工金银首饰是否代征消费税
  • 海尔笔记本最新款
  • 设备拆装费计入什么科目
  • linux设置用户密码
  • 递延所得税资产是什么意思
  • 企业加计扣除活动
  • 生产成本的主要分析方法
  • 生产成本制造费用怎么算
  • 委托贷款业务是资产业务吗
  • 一般纳税人简易计税会计分录
  • 企业研发费用加计扣除是什么意思
  • 工装进福利费还是劳保费
  • linux suid
  • deepsort 跟踪
  • php统计系统
  • 补缴以前年度公积金账务处理
  • 个税系统如何申报个税
  • 职工福利费怎么处理
  • vue elementui table
  • Python函数怎么返回
  • 未实际支付的成本能否列支
  • 代收代缴水费收不上来怎么办
  • sql2008r2安装教程
  • 收到预付货款用什么凭证
  • 服务行业人工费一般控制在多少合适
  • 已经认证抵扣的发票会计分录
  • 保险再保业务
  • 其他应收款账务核销后放在哪个科目里
  • 材料成本差异会计处理
  • 进项税额转出有什么好处
  • 房地产开发成本费用明细表
  • 股份有限责任公司是什么意思
  • 增值税普通发票可以抵扣多少钱
  • 房地产开发企业电费做什么科目
  • 固定资产专票可以不抵扣吗
  • 诺诺开票人怎么修改
  • 借款费用应如何入账
  • mysql 授权命令
  • 新装mysql设置密码
  • linux连接vps
  • mac如何备份到icloud
  • win7或win8、win8.1系统下安装ubuntu实现双系统图文教程
  • 让xp系统瘫痪
  • linux大于符号
  • linux如何配置双网卡
  • win7系统怎么创建虚拟网络
  • linux在实际工作中的应用
  • cocos2d-js-min.js
  • 使用JQuery FancyBox插件实现图片展示特效
  • 批处理 dir
  • c#怎么使用opencv
  • jquery使用jsonp
  • jquery动态添加的元素怎么添加事件
  • python运行出现none
  • 税务文书档案保管期限
  • 登录上海电子税务局显示获取公告失败
  • 入库税收怎么根据完税证明
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设