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]

 

原文地址:https://www.cnblogs.com/caoxiaojian/p/5134334.html