MySQLdb 使用简介
2013-03-28 13:26
197 查看
MySQLdb 1.2.2 for py2.6 使用简介
先看一个例子:
python MySQLdb 示例 用例 范例 使用说明 python MySQLdb 示例 用例 范例 使用说明
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 插入数据 示例 用例 范例 使用说明
查询数据
python MySQLdb 查询数据 示例 用例 范例 使用说明 python MySQLdb 查询数据 示例 用例 范例 使用说明
查询指定的m,n行数据
python MySQLdb 查询多条数据 示例 用例 范例 使用说明 python MySQLdb 查询多条数据 示例 用例 范例 使用说明
先看一个例子:
python MySQLdb 示例 用例 范例 使用说明 python MySQLdb 示例 用例 范例 使用说明
import MySQLdb def 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 r cursor.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 条记录'%count m,n=10,15 #取第11条至第15条数据 cursor.rownumber=m results=cursor.fetchmany(n-m) for r in results: print r cursor.close() conn.close()
相关文章推荐
- Python Mysqldb使用简介
- ImageMagick简介、GraphicsMagick、命令行使用示例
- amchart 使用方法简介及简单中文API
- DataTable使用方法简介
- Linux中带颜色输出的printf使用简介(\033)
- 正则表达式单行、多行模式简介(使用说明)
- 微信小程序开发详解(二)---开发工具使用简介
- 关于Android中适配器的使用简介
- GrabCut函数使用简介
- 以登录实例简介Servlet使用
- ASIHTTPRequest类库简介和使用说明
- Gperftools中tcmalloc的简介和使用
- UI自动化测试工具White简介以及使用经验总结
- TabHost使用简介
- 在比特币等数字货币中使用的哈希算法简介
- linux环境下的"蚂蚁"-wget使用简介
- 粘滞键使用简介
- python下的MySQLdb使用
- 跟我快速理解Dubbo:-1 内容简介和使用。
- zip,collections.defaultdict lambda,csv.DictReader用法简介,及subprocess.call注意事项(需要使用chmod将待执行的文件变为可执行)