位置: 编程技术 - 正文

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中字典的键值对)

  • 收取承包费如何交税
  • 增值税纳税申报表电子版在哪下载
  • 财务人员办理会计业务
  • 企业所得税季度预缴纳税申报表
  • 装修款需要开发票吗
  • 以前年度损益调整
  • 新会计准则下具体会计准则对银行的影响不包括
  • 收到损坏赔偿款怎么入账
  • 企业所得税逾期了一定要去税局前台申报吗
  • 净收益营运指数大于1说明什么
  • 财务离开公司需要交接哪些资料?
  • 企业代扣职工个人缴纳的五险一金
  • 公司注销应付款太多
  • 预付款属于什么结算方式
  • 支付的劳务派遣费计入什么科目里
  • 安装工程劳务合同
  • 日用品发票能报销吗
  • 未达起征点纳税申报表怎么填
  • 股票内在价值计算公式中级财务管理
  • 中小企业社保优惠延长政策
  • 个税附加扣除如何填写合适
  • 企业发生的以旧换新业务应该按照什么处理
  • 融资租赁到期后资产归属
  • 以前年度损益调整会计分录
  • 鸿蒙工具栏在哪里
  • 上个月退货会计分录
  • 系统安装工具有什么用
  • Win10 Build 19044.1288累积更新补丁KB5006670(附更新修复内容汇总)
  • 政府补助开票怎么申报增值税
  • 广告公司的材料的作用有哪些
  • 工资总额包括哪些福利费
  • win11修改版
  • PHP:imagepsslantfont()的用法_GD库图像处理函数
  • 开发票的时候补差价怎么处理?
  • PHP:mcrypt_module_get_algo_key_size()的用法_Mcrypt函数
  • 应收账款如何做会计分录
  • 10分钟搞定3种网红小吃
  • php swoole框架
  • 计算机视觉竞赛很重要吗
  • ai绘画图片
  • 新建配电房需要哪些手续
  • 厂区租赁 法律规定
  • 收到劳务派遣发票可以抵扣吗
  • 增值税年末留底
  • p f和p a的区别
  • 织梦可以放两个模板吗
  • 帝国cms常见的英文
  • mongodb性能优化方案有哪些?
  • 外贸客户付款方式
  • 报销凭证粘贴单怎么用
  • SqlServer 2005 T-SQL Query 学习笔记(1)
  • 建筑企业的安全生产许可证由谁颁发
  • 稳岗补贴支付范围
  • 被财政收回的财物有哪些
  • 货款客户给的电话怎么查
  • 端午节发放的现金福利会计处理
  • 农场有多少只鸡
  • 来料加工账务处理案例
  • 公司法人转账到公司账户
  • 建设期利息有哪些
  • 收到去年所得税汇算清缴退税账务处理
  • 主营业务成本和管理费用的区别
  • 房地产企业会计分录
  • mysql 5.7.28安装
  • win帮助系统在哪里
  • win2000蓝屏0x0000007b
  • linux中sed详细用法
  • windowsxp自带播放器
  • linux的内存
  • opengl oes纹理
  • Android 使用mp4做礼物特效
  • android EditText 需要输入文本时调不出来软键盘 解决方案(亲测有效)
  • css开发环境
  • JavaScript中setFullYear()方法的使用详解
  • 张孝祥西江月
  • android开发框架
  • 朝阳区地方税务局官网
  • 怎么注册用户名短的淘宝账号
  • 起诉公司需要法人信息吗
  • 税务稽查审理的基本原则
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设