安装pymysql模块:pip install pymysq

pymysql pymysql 查询_sql

 

1 from pymysql import *
 2 
 3 def main():
 4     # 第一步 创建connect连接
 5     conn = connect(host="localhost",port=3306,user="root",password="",database="jing_dong",charset="utf8")
 6     # 第二部获取cursor对象(游标对象)
 7     cs1 = conn.cursor()
 8     

    中间是自由操作,上面两句和下面两句是必须创建的,通过execute执行mysql语句:
   cs1.execute('select * from jing_dong')
   如果是一个查询语句,查询结果就保存在游标对象中,用fetch*获取
   cs1.fetch* 取得查询返回数据 fetch有几种:
   fetchone()、fetchmany()、fetchall()
   fetchone()每次返回一条记录,以元组的形式,fetchmany()是自定义返回记录数目,返回的每一个元组包含在一个大元组中
   获取记录时,无论用什么fetch,获取记录就像读取文件那个指针一样,第二次执行,会接着上一次fetch结束的位置开始,当把所有
   记录获取之后,再fetch就获取不到记录了

 9 
10     #g关闭cursor对象
11     cs1.close()
12     conn.close()
13 
14 
15 if __name__ == "__main__":
16     main()

 

下面是一个查询示例:

1 from pymysql import *
 2 
 3 def main():
 4     # 创建connect连接
 5     conn = connect(host="localhost",port=3306,user="root",password="",database="jing_dong",charset="utf8")
 6     #获取cursor对象
 7     cs1 = conn.cursor()
 8 
 9     # count 返回的是表的行数,查询结果保存在游标对象cs1中
10     count = cs1.execute("select * from goods")
11 
12     for i in range(count):
13         print(cs1.fetchone())
14 
15 
16     #g关闭cursor对象
17     cs1.close()
18     conn.close()
19 
20 
21 if __name__ == "__main__":
22     main()

 

下面又是一个代码演练:

1 from pymysql import connect
 2 
 3 class JD(object):
 4     def __init__(self):
 5         self.conn = connect(host="localhost",port=3306,user="root",password="",database="jing_dong",charset="utf8")
 6         self.cs1 = self.conn.cursor()
 7 
 8     @staticmethod
 9     def print_msg():
10         print("-------JING DONG---------")
11         print("1 查询所有数据")
12         print("2、查询所有品牌")
13         print("3、查询所有分类")
14         return input("请选择:")
15    
    #当程序死掉的时候会自动调用此方法
16     def __del__(self):
17         self.cs1.close()
18         self.conn.close()
19 
20     def exe_sql(self,sql):
21         self.cs1.execute(sql)
22         for i in self.cs1.fetchall():
23             print(i)
24 
25     def show_cate(self):
26         sql = "select name from goods_cates"
27         self.exe_sql(sql)
28 
29     def show_brand(self):
30         sql = "select name from goods_brands"
31         self.exe_sql(sql)
32 
33     def show_all(self):
34         sql = "select * from goods"
35         self.exe_sql(sql)
36 
37     def run(self):
38         while True:
39             num = self.print_msg()
40             if num == "1":
41                 self.show_all()
42             elif num == "2":
43                 self.show_brand()
44             elif num == "3":
45                 self.show_cate()
46             else:
47                 print("wrong input...try again....")
48 
49 def main():
50     jd = JD()
51     jd.run()
52 if __name__ == "__main__":
53     main()