1 import pymysql
2 import settings
3
4
5 class DB:
6 def __init__(self, **kwargs):
7 self.conn = pymysql.connect(**kwargs)
8 self.cursor = self.conn.cursor(pymysql.cursors.DictCursor)
9
10 def exist(self, sql):
11 """
12 查询是否存在数据
13 :param sql: 需要执行的SQL
14 :return:
15 """
16 self.cursor.execute(sql)
17 if self.cursor.fetchone():
18 return True
19 return False
20
21 def get_one(self, sql):
22 """
23 获取一条查询结果 -- fetchone
24 :param sql:
25 :return:
26 """
27 self.cursor.execute(sql)
28 return self.cursor.fetchone()
29
30 def get_many(self, sql, num):
31 """
32 获取指定条数的查询结果 -- fetchmany
33 :param sql:
34 :param num: 指定条数(整数)
35 :return:
36 """
37 self.cursor.execute(sql)
38 return self.cursor.fetchmany(num)
39
40 def get_all(self, sql):
41 """
42 获取所有的查询结果
43 :param sql:
44 :return:
45 """
46 self.cursor.execute(sql)
47 return self.cursor.fetchall()
48
49 def get_count(self, sql):
50 """
51 获取查询数据的条数
52 :param sql:
53 :return:
54 """
55 return self.cursor.execute(sql)
56
57 def __del__(self):
58 # 构析方法(删除操作)
59 self.cursor.close()
60 self.conn.close()
61
62
63 db = DB(**settings.DATABASE_CONFIG)
64
65 if __name__ == '__main__':
66 db = DB(
67 host='数据库连接地址',
68 user='账号',
69 password='密码',
70 db='库名',
71 charset='utf8',
72 )
73
74 res = db.get_one('select * from table order by id desc limit 1')
75 print(res)
76 res = db.exist("select id from table where mobile_phone='10086'")
77 print(res)
78 res = db.cursor.execute('sql')
79 print(res)
80 print(db.cursor.fetchone())