Python MySQL API
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]
作者:曹小贱
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号