python mysql 简单总结(MySQLdb模块 需另外下载)
python 通过DB-API规范了它所支持的不同的数据库,使得不同的数据库可以使用统一的接口来访问和操作。
满足DB-API规范的的模块必须提供以下属性:
属性名 描述
apilevel DB-API 模块兼容的DB-API 版本号
threadsafety 线程安全级别
paramstyle 该模块支持的SQL语句参数风格
connect() 连接函数(最常用)
其中 threadsafety是一个整数,取值如下:
0:不支持线程安全,多个线程不能共享此模块
1:初级线程安全支持,多个线程可以共享该模块,但不能共享连接
2:中级线程安全支持,多个线程可以共享模块和连接,但不能共享游标
3:完全线程安全支持,线程可以共享模块,连接,游标
connect() 生成一个connect对象,我们通过这个对象访问数据库,符合标准的模块都会实现connect
MySQLdb 是封装mysql访问和操作的模块。
connect() 的规范参数
参数 描述
user Username
password Password
host Hostname
database Database name
dsn Data source name
不是所有的接口程序都是严格按照规范实现的. MySQLdb 就使用了 db 参数而不是规范推荐的 database 参数来表示要访问的数据库.
例:MySQLdb.connect(host='dbserv', db='inv', user='smith')
连接对象 connect
要与数据库进行通信, 必须先和数据库建立连接. 连接对象处理命令如何送往服务器, 以及如何从服务器接收数据等基础功能. 连接成功(或一个连接池)后你就能够向数据库服务器发送请求,得到响应.
连接对象没有必须定义的数据属性。
连接对象方法
Method Name Description
close() 关闭数据库连接
commit() 提交当前事务
rollback() 取消当前事务
cursor() 使用这个连接创建并返回一个游标或类游标的对象
errorhandler (cxn, cur,errcls, errval)
游标对象
一个游标允许用户执行数据库命令和得到查询结果. 一个 Python DB-API 游标对象总是扮演游标的角色, 无论数据库是否真正支持游标.
游标对象的属性
对象属性 描述
arraysize 使用fechmany()方法一次取出多少条记录, 默认值为 1
connectionn 创建此游标对象的连接(可选)
description 返回游标活动状态( 一个包含七个元素的元组): (name, type_code,display_size, internal_ size, precision, scale, null_ok); 只有 name和 type_code 是必须提供的.
lastrowid 返回最后更新行的 id (可选), 如果数据库不支持行 id, 默认返回 None)
rowcount 最后一次 execute() 操作返回或影响的行数.
callproc(func[,args]) 调用一个存储过程
close() 关闭游标对象
execute(op[,args]) 执行一个数据库查询或命令
executemany(op,args) 类似 execute() 和 map() 的结合, 为给定的每一个参数准备并执行一个数据库查询/命令
游标对象属性(续)
对象属性 描述
fetchone() 得到结果集的下一行
fetchmany([size=cursor.arraysize]) 得到结果集的下几行 (几 = size)
fetchall() 返回结果集中剩下的所有行
__iter__() 创建一个迭代对象 (可选; 参阅 next())
messages 游标执行后数据库返回的信息列表 (元组集合) (可选)
next() 使用迭代对象得到结果集的下一行(可选; 类似 fetchone(), 参阅 __iter__())
nextset() 移到下一个结果集 (如果支持的话)
rownumber 当前结果集中游标的索引 (以行为单位, 从0 开始) (可选)
setinput- sizes(sizes) 设置输入最大值 (必须有, 但具体实现是可选的)
setoutput- size(size[,col]) 设置大列的缓冲区大写(必须有, 但具体实现是可选的)
给出 MySQLdb 一般的操作流程
1,创建connect
sample:
conn = MySQLdb.connect(host = '',user = '' ,port = 3306, charset = 'utf8')
charset 要设置,不然处理中文会乱码。而且当前python 文件也要存成utf8。
2,获取游标对象 以便对数据库访问和操作
sample:
cur = conn.cursor()
3,选择一个database
sample:
conn.select_db('GameDB')
4,指向sql语句 通过游标对象
sample:
cur.execute("select * from CHARBASE where NAME like %s",('%%%s%%' %name))
5,获取结果 ,返回的是元组集
sample:
result = cur.fetchone()
6,处理结果
7,提交事务
sample:
conn.commit()
8 ,关闭游标和连接
cur.close()
conn.close()
python mysql 简单总结(MySQLdb模块 需另外下载)的更多相关文章
- python操作三大主流数据库(1)python操作mysql①windows环境中安装python操作mysql数据库的MySQLdb模块mysql-client
windows安装python操作mysql数据库的MySQLdb模块mysql-client 正常情况下应该是cmd下直接运行 pip install mysql-client 命令即可,试了很多台 ...
- 【python】python中 简单的 glob模块
glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?&quo ...
- Python爬虫简单实现之Q乐园图片下载
根据需求写代码实现.然而跟我并没有什么关系,我只是打开电脑望着屏幕想着去干点什么,于是有了这个所谓的“需求”. 终于,我发现了Q乐园——到底是我老了还是我小了,这是什么神奇的网站,没听过啊,就是下面酱 ...
- 教你如何入手用python实现简单爬虫微信公众号并下载视频
主要功能 如何简单爬虫微信公众号 获取信息:标题.摘要.封面.文章地址 自动批量下载公众号内的视频 一.获取公众号信息:标题.摘要.封面.文章URL 操作步骤: 1.先自己申请一个公众号 2.登录自己 ...
- 解决:python安装mysqldb模块报 EnvironmentError: mysql_config not found
最近学习python操作mysql需要安装mysqldb模块 出现EnvironmentError: mysql_config not found 经网上查看,需要安装mysql客户端开发库libmy ...
- windows(32位 64位)下python安装mysqldb模块
windows(32位 64位)下python安装mysqldb模块 www.111cn.net 编辑:mengchu9 来源:转载 本文章来给各位使用在此windows系统中的python来安装一个 ...
- Python Mysql 篇
Python 操作 Mysql 模块的安装 linux: yum install MySQL-python window: http://files.cnblogs.com/files/wupeiqi ...
- Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用
MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF ...
- python使用mysql的三个模块:mysql.connector、sqlalchemy、MySQLdb
在python中使用mysql其实很简单,只要先安装对应的模块即可,那么对应的模块都有什么?官方也没指定也没提供,pcat就推荐自己遇到的3个模块:mysql.connector.sqlalchemy ...
随机推荐
- mysql时间处理
两种方式,一个是在数据库查询的时候就截取,另一个就是在使用的时候截取. 1.数据库 select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test 2.ja ...
- Dataguard之redo传输服务
一.Data Guard架构 整个Data Guard体系就是围绕三个关键点展开: 日志发送(Redo Send) 日志接收(Redo Receive) 日志应用(Redo Apply) 二.日志发送 ...
- mysql-5.5.46源码编译安装
1.安装准备 cat /etc/redhat-release uname -r yum install ncurses-devel cmake automake autoconf make gcc g ...
- 利用ddmlib 实现 PC端与android手机端adb forword socket通信(转)
上篇文章讲了PC与android手机连接的办法 ,通过java调用系统命令执行adb命令操作,实际上是一个比较笨的办法. 网上查阅资料,发现google 提供了ddmlib库 (adt-bundle\ ...
- Microsoft Press Free eBook
微软的免费的电子书, 都是Microsoft Press 出版的 有以下价格方面 Windows Server(大体上都是Windows Server 2012 ) Microsoft Azure(好 ...
- About Curah
相信下列场景对您来说一点都不陌生:您遇到一个问题,花了好几个小时在网上搜寻解答和可靠的技术内容.即使前往许多技术博客和论坛翻箱倒柜后,还是无法确定要相信谁,也不知道该选哪个答案. Curah! 网站就 ...
- 使用PowerShell 连接Azure
除了使用门户登入外,还可以使用PowerShell的方式来连接Azure.首先要去下载组件 http://azure.microsoft.com/en-us/downloads/?rnd=1 http ...
- 【nodejs】json value出现 undefined 将会无法解析 问题来了
如果 value 的值就要 undefined 怎处理呢?
- iOS 开发之粒子效果
本文由糖炒小虾.Benna翻译 ,校对:sai.u0u0.iven.子龙山人 iOS 5中的UIKit粒子系统教程 Ray的话:这是第15篇.也是最后一篇<iOS 5 盛宴>中的iOS 5 ...
- 史上最全的Excel数据编辑处理技巧(转)
史上最全的数据编辑处理技巧,让你在日常数据分析处理的疯魔状态中解放出来. 一.隐藏行列 “不得了了,Excel出现灵异事件,部分区域消失不见了!”办公室里的一个MM跑过来大声喊叫着,着实吓了俺一跳.待 ...