安装pymysql模块:pip install pymysq

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()
















