示例一
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
|
#coding=UTF-8 import sys import MySQLdb import time reload (sys) sys.setdefaultencoding( 'utf-8' ) def connectDemo(): return MySQLdb.Connection( "127.0.0.1" , "root" , "root" , "demo" , 3306 ,charset = "utf8" ) if __name__ = = '__main__' : begin = time.time() conn = connectDemo() cursor = conn.cursor() sql = """ show tables """ count = cursor.execute(sql) rows = cursor.fetchall() cursor.close() conn.close() print "========demo库共:%s 张表============" % (count) print '耗时:%s 秒' % (time.time() - begin) |
示例二
1
2
3
4
5
6
7
8
9
10
11
12
|
import MySQLdb conn = MySQLdb.connect(host = "localhost" , user = "root" , passwd = "123456" , db = "test" ) cursor = conn.cursor() cursor.execute( "select * from hard" ) res = cursor.fetchall() for x in res: print x cursor.close() conn.close() |
示例三
1 安装Python的Mysql包
这里导入MySQLdb没有报错,就说明安装成功.
2 下面就可以连接数据库,可以进行增删改操作.
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
|
root@ 10.1 . 1.45 :python # cat create.py #!/usr/bin/env python #coding=utf-8 #导入相关模块 import MySQLdb #建立和mysql数据库的连接 conn = MySQLdb.connect(host = 'localhost' ,user = 'root' ,passwd = 'davehe' ) #获取游标 curs = conn.cursor() #执行SQL,创建一个数据库 curs.execute( "create database pythondb" ) #选择连接哪个数据库 conn.select_db( 'pythondb' ) #执行SQL,创建一个表 curs.execute( "create table test(id int,message varchar(50))" ) #插入一条记录 value = [ 1 , "davehe" ] curs.execute( "insert into test values(%s,%s)" ,value) #插入多条记录 values = [] for i in range ( 20 ): values.append((i, 'hello mysqldb' + str (i))) curs.executemany( "insert into test values(%s,%s)" ,values) #提交修改 conn.commit() #关闭游标连接,释放资源 curs.close() #关闭连接 conn.close() root@ 10.1 . 1.45 :python # ./create.py |
3 下面利用python查看mysql里刚添加的记录.
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
|
root@ 10.1 . 1.45 :python # cat select.py #!/usr/bin/env python #coding=utf-8 #导入相关模块 import MySQLdb #建立和mysql数据库的连接 conn = MySQLdb.connect(host = 'localhost' ,user = 'root' ,passwd = 'hc1226' ) #获取游标 curs = conn.cursor() #选择连接哪个数据库 conn.select_db( 'pythondb' ) #查看共有多少条记录 count = curs.execute( 'select * from test' ) print "一共有%s条记录" % count #获取一条记录,以一个元组返回 result = curs.fetchone() print "当前的一条记录 ID:%s message:%s" % result #获取后10条记录,由于之前执行了getchone(),所以游标已经指到第二条记录,下面也就从第二条记录开始返回 results = curs.fetchmany( 10 ) for r in results: print r #重置游标位置,0,为偏移量,mode = relative(默认) curs.scroll( 0 ,mode = 'absolute' ) #获取所有记录 results = curs.fetchall() for r in results: print r #提交修改 conn.commit() #关闭游标连接,释放资源 curs.close() #关闭连接 conn.close() |
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
|
root@ 10.1 . 1.45 :python # ./select.py 一共有 21 条记录 当前的一条记录 ID : 1 message:davehe ( 0L , 'hello mysqldb0' ) ( 1L , 'hello mysqldb1' ) ( 2L , 'hello mysqldb2' ) ( 3L , 'hello mysqldb3' ) ( 4L , 'hello mysqldb4' ) ( 5L , 'hello mysqldb5' ) ( 6L , 'hello mysqldb6' ) ( 7L , 'hello mysqldb7' ) ( 8L , 'hello mysqldb8' ) ( 9L , 'hello mysqldb9' ) ( 1L , 'davehe' ) ( 0L , 'hello mysqldb0' ) ( 1L , 'hello mysqldb1' ) ( 2L , 'hello mysqldb2' ) ( 3L , 'hello mysqldb3' ) ( 4L , 'hello mysqldb4' ) ( 5L , 'hello mysqldb5' ) ( 6L , 'hello mysqldb6' ) ( 7L , 'hello mysqldb7' ) ( 8L , 'hello mysqldb8' ) ( 9L , 'hello mysqldb9' ) ( 10L , 'hello mysqldb10' ) ( 11L , 'hello mysqldb11' ) ( 12L , 'hello mysqldb12' ) ( 13L , 'hello mysqldb13' ) ( 14L , 'hello mysqldb14' ) ( 15L , 'hello mysqldb15' ) ( 16L , 'hello mysqldb16' ) ( 17L , 'hello mysqldb17' ) ( 18L , 'hello mysqldb18' ) ( 19L , 'hello mysqldb19' ) |