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 ]











来自为知笔记(Wiz)


你可能感兴趣的:(MySQL-python模块)