MySQLdb 1.2.2 for py2.6  使用简介

先看一个例子:

python MySQLdb 示例 用例 范例 使用说明 python MySQLdb 示例 用例 范例 使用说明
import MySQLdbdef test():#建立和数据库系统的连接conn=MySQLdb.connect(host='localhost',user='root',passwd='a123456')#获取操作游标cursor=conn.cursor()#执行SQL,创建一个数据库.cursor.execute('''create database python''')#关闭连接,释放资源cursor.close()con.close()
python MySQLdb 示例 用例 范例 使用说明 python MySQLdb 示例 用例 范例 使用说明 python MySQLdb Connection对象 Cursor对象

这里面涉及到2个对象,一个是Connection对象(数据库连接对象),MySQLdb.connet()返回的就是该对象;一个是Cursor对象(游标对象),conn.cursor()返回的就是该对象。

一. Connection类(python中一切都可以说是对象,类也是一种对象,所以前面说Connection对象)
*描述:MySQL数据库连接类,它的基类是:_mysql.connection

*方法(只列出部分常用方法):
1. __init__(self, *args, **kwargs)

初始化方法,接受如下参数:
 (1)host    类型:string    指定目标主机地址

(2)user    类型:string    指定连接数据库用户名

(3)passwd   类型:string   指定连接数据所用密码

(4)db   类型:string   连接的数据库名

(5)port   类型:integer   连接的端口号

(6)unix_socket   类型:string   unix_sockete地址

(7)conv   类型:dict   转换字典,参见MySQLdb.converters

(8)connect_timeout   类型:integer   连接超时时间

(9)compress  
 (10)named_pipe  
 (11)init_command   如果有init_command,一旦建立了连接,就会最先执行该sql命令。
 (12)read_default_file  
 (13)read_default_group
   
 (14)cursorclass 指定创建的游标类型
   
 (15)use_unicode
   
 (16)charset   设置编码方式

(17)sql_mode   设置数据库连接模式

(18)client_flag   类型:integer

(19)ssl   类型:dictionary or mapping

(20)local_infile   类型:integer

这个对象的初始化参数看起来很多,但不是每一个都必须要有,一般用的参数是前5个,在加上一个charset.

2.cursor(self, cursorclass=None):创建游标,如果cursorClass没有指定,则返回默认的Cursor对象。

3.literal(self, o)

4.set_character_set(self, charset):设置连接字符编码方式

5.set_sql_mode(self, sql_mode):设置数据库模式

6.show_warnings(self):以元组形式返回warnings信息

以下个方法是从基类中继承过来的

7.select_db(self,dbname):作用是指定使用的数据库

8.close():关闭数据库连接

9.commit():提交当前事务

10.rollback():取消当前事务

***********************************************************

游标对象有多种:Cursor,  DictCursor,  SSCursor,  SSDictCursor。

游标对象的类型决定了fetch取出结果返回的类型,如果游标对象是Cursor、SSCursor,返回的数据库中的每一个元组对应就是tuple对象; 否则返返回的就是dict对象.

游标对象虽然有多种,但是它们所具有的方法是大同小异,且它们具有相同的一个基类:BaseCursor

二 BaseCursor类
*描述:游标基类

*数据属性:

arraysize  使用fechmany()方法一次取出多少条记录(默认值是1)

connection 游标对象的连接

description 游标活动状态

lastrowid      最后更新行的id(如果数据库不支持行id,默认返回None)

rowcount      最后一次execute()操作返回或影响的行数(默认值-1)

rownumber  当前游标所在位置(默认值None)

*方法:
1. __init__(self, connection): 初始化函数
2.close(self):关闭游标
3.nextset(self):移动游标至下一结果集,如果没有更多的结果集,返回None;否则返回1
4.execute(self, query, args=None):执行一个sql语句
5.executemany(self, query, args):多次执行一条sql语句(参数不同)
6.callproc(self, procname, args=()):执行存储过程procname

游标对象其他共同的方法:

1.fetchone(self):得到结果集的下一行

2.fetchmany(self, size=None):得到结果的下几行,如果size=None,arraysize将被使用

3.fetchall(self):返回结果集中剩下的所有行

一些使用例子:

插入和更新数据,需要注意的是,要记得commit,否则插入的数据是不会写入数据库表的。

python MySQLdb 插入数据 示例 用例 范例 使用说明 python MySQLdb 插入数据 示例 用例 范例 使用说明
import MySQLdb
def test1():conn=MySQLdb.connect(host='localhost',user='root',passwd='a123456')cursor=conn.cursor()cursor.execute('''create database if not exists python''')#选择数据库conn.select_db('python')#创建一个数据表cursor.execute('''create table test(id int,info varchar(100))''')value=[1,'inserted ?']#插入一条记录cursor.execute('insert into test values(%s,%s)',value)#cursor.execute('insert into test values(1,"inserted")')values=[]#生成插入参数值for i in range(20):values.append((i,'Hello mysqldb,I am recoer'+str(i)))#插入多条记录cursor.executemany('insert into test values(%s,%s)',values)cursor.close()  conn.commit()#必须有,否则插入的数据无效conn.close()  

查询数据

python MySQLdb 查询数据 示例 用例 范例 使用说明 python MySQLdb 查询数据 示例 用例 范例 使用说明
import MySQLdb
def test2():conn=MySQLdb.connect(host='localhost',user='root',passwd='a123456')cursor=conn.cursor()conn.select_db('python')count=cursor.execute('select *from test')print '总共有 %s 条记录'%count#获取一条记录,每条记录做为一个元组返回print '只获取一条记录:'result=cursor.fetchone()print result#获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录print '只获取5条记录:'results=cursor.fetchmany(5)for r in results:print rcursor.close()conn.close()

查询指定的m,n行数据

python MySQLdb 查询多条数据 示例 用例 范例 使用说明 python MySQLdb 查询多条数据 示例 用例 范例 使用说明
import MySQLdb
def test3():conn=MySQLdb.connect(host='localhost',user='root',passwd='a123456')cursor=conn.cursor(MySQLdb.cursors.DictCursor)conn.select_db('python')count=cursor.execute('select *from test')count=cursor.execute('select *from test')print '总共有 %s 条记录'%countm,n=10,15#取第11条至第15条数据cursor.rownumber=mresults=cursor.fetchmany(n-m)for r in results:print rcursor.close()conn.close()

MySQLdb 使用简介相关推荐

  1. SQLAlchemy简介与入门

    ORM与SQLAlchemy简介 ORM ORM:Object Relation Mapping,最初主要描述的是程序中的Object对象和关系型数据库中Rlation关系(表)之间的映射关系,目前来 ...

  2. mysqlclient==1.3.7对应mysql版本_Python通过MySQLdb访问操作MySQL数据库

    前言 Python支持通过多种方式访问MySQL数据库.可能有些刚入门的朋友们对Python访问MySQL数据库还不是很熟悉,故计划对Python访问MySQL数据库的这几种方式分别作一介绍. 系列第 ...

  3. python mysql library popular_【过时】MySQLdb:Python 操作 MySQL 数据库

    NOTE(2017-11-18): MySQLdb 不支持 Python 3,而 Python 3 是主流,所以就没有学习的必要了. 环境:MySQL 5.6.27, Ubuntu 15.10 64- ...

  4. sysbench压力测试工具简介和使用(一)

    sysbench压力测试工具安装和参数介绍 一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据 ...

  5. Nacos教程_1 简介和安装

    教程原稿–https://gitee.com/fakerlove/joker-nacos 文章目录 nacos 教程 1. 简介 1.1 介绍 1.2 安装 下载 linux版本 windows版本 ...

  6. Python各类库的简介(转)

    转的一篇,整理的很全了,转需及自用 原文:https://blog.csdn.net/weixin_42209553/article/details/84074840 正文: 格式:库,名称,简介 C ...

  7. Django框架简介-初级(简单留言板)

    Django框架(综合各方知识) 介绍Django和设计模式 CGI方式开发web MVC 设计模式 web各部分说明 主要内容 结构说明 必要步骤 简单体验留言板 进阶留言板:css和html分离, ...

  8. python爬虫框架feapder的使用简介

    python爬虫框架feapder的使用简介 1.前言 Feapder 是一款上手简单.功能强大.快速.轻量级的爬虫框架的Python爬虫框架.支持轻量爬虫.分布式爬虫.批次爬虫.爬虫集成,以及完善的 ...

  9. Django---ORM简介丶单表操作丶增删改查

    一丶ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

最新文章

  1. matlab线性平面映射求通项_代数学发展史: 线性空间
  2. 第2章 Python 数字图像处理(DIP) --数字图像基础1 - 视觉感知要素 - 亮度适应与辨别
  3. 福建水院计算机一级清考,取消毕业“清考”大学生还敢混日子吗
  4. C#应用中的LINQ 查询语言
  5. 提升机器学习数学基础,这7本书一定要读-附pdf资源
  6. SPF算法计算过程--例
  7. 计算机在语文教学中,计算机课件在语文课堂教学中的应用——用Powerpoint制作课件的一点体会(网友来稿)...
  8. 数据库事务的四大特性和隔离级别,一文带你看通透
  9. 设有n个人围坐一圈并按顺时针方向从1到n编号
  10. 绘画系统——P5.js
  11. AE插件 自定义动画曲线AEscripts flow for Mac
  12. 论文阅读《API2Com: On the Improvement of Automatically Generated Code Comments Using API Documentations》
  13. Android 客户端与服务端的数据交互问题
  14. 欺骗的艺术----(8)
  15. 100ml干胶能带上地铁吗_定型喷雾可以带上地铁吗
  16. Tomcat连接数据库的方法
  17. 转载: java 入门书籍(java7)
  18. 《大学物理:电磁学》练习题答案(含题目)
  19. conclution
  20. 为什么RHCE认证能久经不衰

热门文章

  1. 亚马逊运营最常见家50问(上)
  2. OpenVpnCentos8部署
  3. java csrf_java – 如何在使用CSRF登录后启用Spring Secu...
  4. Ubuntu18.04安装显卡驱动+CUDA
  5. MPLAB-IDE-C语言编程代码实例-分析
  6. 到底是上班舒服还是上学舒服!上班一个月的感受!
  7. 梯度,sobel算子的理解
  8. 程序员的职级和薪酬体系
  9. Android 开机动画
  10. 武汉ACM集训——贪心-7