MySQL-python模块

模块安装

1
2
3
4
5
linux:
    yum install MySQL-python
  
windows:(如果报错需要执行license.py)
    http://files.cnblogs.com/files/daliangtou/py-mysql-win.zip

API操作

1、插入数据

1.1 插入一条数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import MySQLdb
 
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123',db='mydb')
cur = conn.cursor()    #打开游标
 
reCount = cur.execute(
    'insert into UserInfo(Name,Address) values(%s,%s)',
    ('test','beijing')
)   #与字符串格式化不一样,mysql只有%s,没有别的,数字什么的也都用%s
# reCount = cur.execute('insert into UserInfo(id,Name) values(%(id)s, %(name)s)',{'id':12345,'name':'test1'})
 
cur.lastrowid()     #获取新插入的数据的自增ID
conn.commit()
cur.close()
conn.close()
print reCount    #在数据库中影响的行数
1.2 插入多条数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import MySQLdb
 
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123',db='mydb')
 
cur = conn.cursor()
 
li =[
     ('test1','usa'),
     ('test2','china'),
]
reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li)
 
conn.commit()
cur.close()
conn.close()
 
print reCount

2、删除数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import MySQLdb
  
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')
  
cur = conn.cursor()
  
reCount = cur.execute('delete from UserInfo')
  
conn.commit()
  
cur.close()
conn.close()
  
print reCount

3、修改数据

1
2
3
4
5
6
7
8
9
10
11
12
13
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、查数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# ############################## fetchone/fetchmany(num)  ##############################
  
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')
  
print cur.fetchone()
print cur.fetchone()
cur.scroll(-1,mode='relative')     #‘-’号代表当前行位置往回移动,正值是向下移动。
print cur.fetchone()
print cur.fetchone()
cur.scroll(0,mode='absolute')      #absolute是绝对位置,这行代码的意思是,指向获取结构所有开头的0行位置。
print cur.fetchone()               #获取的还是第一行的数据
print cur.fetchone()
  
cur.close()
conn.close()
  
print reCount
  
  
  
# ############################## fetchall  ##############################
  
import MySQLdb
  
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')
#cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)   #结果是列表包含字典
cur = conn.cursor()
  
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/daliangtou/p/5131363.html