本文实例讲述了Python数据操作方法封装类。分享给大家供大家参考,具体如下:
工作中经常会用到数据的插叙、单条数据插入和批量数据插入,以下是本人封装的一个类,推荐给各位:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Eric.yue import logging import MySQLdb class _MySQL( object ): def __init__( self ,host, port, user, passwd, db): self .conn = MySQLdb.connect( host = host, port = port, user = user, passwd = passwd, db = db, charset = 'utf8' ) def get_cursor( self ): return self .conn.cursor() def query( self , sql): cursor = self .get_cursor() try : cursor.execute(sql, None ) result = cursor.fetchall() except Exception, e: logging.error( "mysql query error: %s" , e) return None finally : cursor.close() return result def execute( self , sql, param = None ): cursor = self .get_cursor() try : cursor.execute(sql, param) self .conn.commit() affected_row = cursor.rowcount except Exception, e: logging.error( "mysql execute error: %s" , e) return 0 finally : cursor.close() return affected_row def executemany( self , sql, params = None ): cursor = self .get_cursor() try : cursor.executemany(sql, params) self .conn.commit() affected_rows = cursor.rowcount except Exception, e: logging.error( "mysql executemany error: %s" , e) return 0 finally : cursor.close() return affected_rows def close( self ): try : self .conn.close() except : pass def __del__( self ): self .close() mysql = _MySQL( '127.0.0.1' , 3306 , 'root' , '123456' , 'test' ) def create_table(): table = """ CREATE TABLE IF NOT EXISTS `watchdog`( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(100), `price` int(11) NOT NULL DEFAULT 0 ) ENGINE=InnoDB charset=utf8; """ print mysql.execute(table) def insert_data(): params = [( 'dog_%d' % i, i) for i in xrange ( 12 )] sql = "INSERT INTO `watchdog`(`name`,`price`) VALUES(%s,%s);" print mysql.executemany(sql, params) if __name__ = = '__main__' : create_table() insert_data() |
希望本文所述对大家Python程序设计有所帮助。