1:插入数据
importMySQLdb#创建连接的变量
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]