详解Python 数据库的Connection、Cursor两大对象

Python 数据库图解流程

Connection、Cursor比喻

Connection()的参数列表

host,连接的数据库服务器主机名,默认为本地主机(localhost)。user,连接数据库的用户名,默认为当前用户。passwd,连接密码,没有默认值。db,连接的数据库名,没有默认值。conv,将文字映射到Python类型的字典。
MySQLdb.converters.conversionscursorclass,cursor()使用的种类,默认值为MySQLdb.cursors.Cursor。compress,启用协议压缩功能。named_pipe,在windows中,与一个命名管道相连接。init_command,一旦连接建立,就为数据库服务器指定一条语句来运行。read_default_file,使用指定的MySQL配置文件。read_default_group,读取的默认组。unix_socket,在unix中,连接使用的套接字,默认使用TCP。

port,指定数据库服务器的连接端口,默认是3306。

连接对象的db.close()方法可关闭数据库连接,并释放相关资源。

连接对象的db.cursor([cursorClass])方法返回一个指针对象,用于访问和操作数据库中的数据。连接对象的db.begin()方法用于开始一个事务,如果数据库的AUTOCOMMIT已经开启就关闭它,直到事务调用commit()和rollback()结束。连接对象的db.commit()和db.rollback()方法分别表示事务提交和回退。指针对象的cursor.close()方法关闭指针并释放相关资源。指针对象的cursor.execute(query[,parameters])方法执行数据库查询。指针对象的cursor.fetchall()可取出指针结果集中的所有行,返回的结果集一个元组(tuples)。指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行,我们可利用可选的参数指定取出的行数。指针对象的cursor.fetchone()从查询结果集中返回下一行。指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目,影响fetchall()的性能,默认值为1。

指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。-1表示还没开始查询或没有查询到数据。

Cursor

常用方法:

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

excutemany(sql, args):执行多个数据库查询或命令

常用属性:

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

总结

以上所述是小编给大家介绍的Python 数据库的Connection、Cursor两大对象,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案

    Python IDLE 错误描述: Subprocess Startup Error IDLE's subprocess didn't make connection. Either IDLE can't start a subprocess or personal firewall software is blocking the connection. 错误截图: 错误原因分析: 同层目录下存在和Python库文件相同名字的.py文件,导致子进程无法创建的问题. 解决方法: 排查目录下的.p

  • 详解Python 数据库的Connection、Cursor两大对象

    Python 数据库图解流程 Connection.Cursor比喻 Connection()的参数列表 host,连接的数据库服务器主机名,默认为本地主机(localhost).user,连接数据库的用户名,默认为当前用户.passwd,连接密码,没有默认值.db,连接的数据库名,没有默认值.conv,将文字映射到Python类型的字典. MySQLdb.converters.conversionscursorclass,cursor()使用的种类,默认值为MySQLdb.cursors.Cu

  • 详解Python实现图像分割增强的两种方法

    方法一 import random import numpy as np from PIL import Image, ImageOps, ImageFilter from skimage.filters import gaussian import torch import math import numbers import random class RandomVerticalFlip(object): def __call__(self, img): if random.random()

  • 详解Python 数据库 (sqlite3)应用

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应用,比如HTML5和移动端.Python标准库中的sqlite3提供该数据库的接口. 我将创建一个简单的关系型数据库,为一个书店存储书的分类和价格.数据库中包含两个表:category用于记录分类,book用于记录某个书的信息.一本书归属于某一个分类,因此book有一个外键(foreign key)

  • 详解Python中的__getitem__方法与slice对象的切片操作

    Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素: >>> Fib()[5] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'Fib' object does not support indexing 要表现得像list那样按照下标取出元素,需要实现__getit

  • 详解Python的数据库操作(pymysql)

    使用原生SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等.其可操作性很强,如可以直接使用"show databases"."show tables"等语句进行表格之外的部分操作. Centos7远程操作数据库时需要关闭防火墙,否则会连接不上 安装: pip3 install pymysql 数据查询: import pymysql #建立数据库连接 conn=pymysql.connect(host="192.168.1

  • 详解python定时简单爬取网页新闻存入数据库并发送邮件

    本人小白一枚,简单记录下学校作业项目,代码十分简单,主要是对各个库的理解,希望能给别的初学者一点启发. 一.项目要求 1.程序可以从北京工业大学首页上爬取新闻内容:http://www.bjut.edu.cn 2.程序可以将爬取下来的数据写入本地MySQL数据库中. 3.程序可以将爬取下来的数据发送到邮箱. 4.程序可以定时执行. 二.项目分析 1.爬虫部分利用requests库爬取html文本,再利用bs4中的BeaultifulSoup库来解析html文本,提取需要的内容. 2.使用pymy

  • 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    获取要爬取的URL 爬虫前期工作 用Pycharm打开项目开始写爬虫文件 字段文件items # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.html import scrapy class NbaprojectItem(scrapy.Item): # define the fields for yo

  • 详解Python如何实现对比两个Excel数据差异

    目录 1.引言 2.代码实战 3.总结 1.引言 小丝:鱼哥,还记得上次写的把数据库的查询结果写入到excel这个脚本不. 小鱼:嗯… 可以说不记得吗 小丝:我猜你就记得. 小鱼:你…说…啥?? 小丝:我说,你记得这个脚本. 小鱼:啊? 你说去洗澡? 小丝:鱼哥,别闹,正儿八经的. 小鱼:啊… 你说还要做SPA . 小丝:鱼哥,你这… 小鱼:啊… 你问我什么时间方便? 小丝:鱼哥!!!!!!!!!!!! 小鱼:昂,咋了. 小丝:你要是再帮我写个脚本,咱就去洗澡. 小鱼:哦,洗完澡还要吃烧烤??

  • 详解Python修复遥感影像条带的两种方式

    GDAL修复Landsat ETM+影像条带 Landsat7 ETM+卫星影像由于卫星传感器故障,导致此后获取的影像出现了条带.如下图所示, 影像中均匀的布满条带. 使用GDAL修复影像条带的代码如下: def gdal_repair(tif_name, out_name, bands): """ tif_name(string): 源影像名 out_name(string): 输出影像名 bands(integer): 影像波段数 """ #

  • 详解python连接telnet和ssh的两种方式

    目录 Telnet 连接方式 ssh连接方式 Telnet 连接方式 #!/usr/bin/env python # coding=utf-8 import time import telnetlib import logging __author__ = 'Evan' save_log_path = 'result.txt' file_mode = 'a+' format_info = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(level

随机推荐