1:插入数据
import MySQLdb # 创建连接的变量 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='mysql') # 打开连接通道 cur = conn.cursor() # 执行execute语句,insert into一条数据 reCount = cur.execute('insert into UserInfo(Name,Address) values(%s,%s)',('caoxiaojian','CN')) # reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'caoxiaojian'}) # 数据提交 conn.commit() # 通道连接关闭 cur.close() # 数据库连接关闭 conn.close() print reCount
一次插入多个数据
#!/usr/bin/env python # coding:utf-8 import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='mydb') cur = conn.cursor() # 将数据放到一个列表中 li =[ ('ccc','cn'), ('ggg','cn'), ] # 使用executemany批量插入多个数据 reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li) conn.commit() cur.close() conn.close() print reCount
2:删除数据
#!/usr/bin/env python # coding:utf-8 import MySQLdb # 首先连接数据库 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='mydb') # 打开连接通道 cur = conn.cursor() # 使用execute来执行命令 reCount = cur.execute('delete from UserInfo') # 提交并关闭 conn.commit() cur.close() conn.close() print reCount
3:修改数据
#!/usr/bin/env python # coding:utf-8 import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') cur = conn.cursor() reCount = cur.execute('update UserInfo set Name = %s',('alin',)) conn.commit() cur.close() conn.close() print reCount
4:查询数据
分为两类:一种是fetchone/fetchmany(num)
实例
#!/usr/bin/env python # coding:utf-8 import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') cur = conn.cursor() reCount = cur.execute('select * from UserInfo') # 使用fetchone一次只获取一条数据,获取后指针位置移动,到下一条数据的位置 print cur.fetchone() print cur.fetchone() # 表示从指针当前位置乡下获取几条 print cur.fetmany(2) # scroll类似之前的seek,可以指定定位到某个位置 # 位置的指定有两种方式:相对位置和绝对位置 # 没有什么卵用,还不如直接从数据库中读取。 cur.scroll(-1,mode='relative') cur.scroll(0,mode='absolute') cur.close() conn.close() print reCount
fetchall的实例
#!/usr/bin/env python # coding:utf-8 import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') # 使用下面的方式,可以将获取到数据变成字典的格式,原本是个元组的形式 cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) """ 获取的样式 [ {'id':1,'name':'ccc'} ] """ cur = conn.cursor() """ 获取的样式 [ (1,ccc), (2,ggg) ] """ reCount = cur.execute('select Name,Address from UserInfo') nRet = cur.fetchall() cur.close() conn.close() print reCount print nRet for i in nRet: print i[0],i[1]