一、 使用Python访问MySql数据库
1、 安装pymysql
2、 连接数据库,获取连接对象 3、 通过连接对象获取游标对象 4、 通过游标对象执行sql语句 5、 获取查询结果 6、 关闭游标
二、 连接步骤
1、 安装pymysql的数据库访问组件
2、 连接数据库获取游标对象 #1获取连接对象 conn=pymysql.connect(\ print(type(conn)) #2通过链接对象获取游标对象 cursor=conn.cursor() print(type(cursor)) 3、 执行增加修改删除操作 #3执行sql #sql=\INTO student(sname,sex,address,birthday,classid) VALUES('张飞','男','北京','1998-12-11',1)\ #将传递的参数使用%s进行占位 sql=\ try: cursor.execute(sql,('司马昭','男','长沙','1997-12-11','4')) print(\执行成功\ conn.commit()#提交事务 except: print(\执行失败!\ finally: conn.close() Demo2.py import pymysql#引入数据库组件 #1获取连接对象 conn=pymysql.connect(\ print(type(conn)) #2通过链接对象获取游标对象 cursor=conn.cursor() print(type(cursor)) #3执行sql #将传递的参数使用%s进行占位 sql=\ try: cursor.execute(sql,('姜维','男','天水郡','1997-12-11','4','6')) print(\执行成功\ conn.commit()#提交事务 except: print(\执行失败!\ finally: conn.close() Demo3.py import pymysql#引入数据库组件 #1获取连接对象 conn=pymysql.connect(\ print(type(conn)) #2通过链接对象获取游标对象 cursor=conn.cursor() print(type(cursor)) #3执行sql #将传递的参数使用%s进行占位 sql=\ where sid=%s\ try: cursor.execute(sql,('6')) print(\执行成功\ conn.commit()#提交事务 except: print(\执行失败!\ 4、 获取结果集对象 import pymysql#引入数据库组件 #1获取连接对象 conn=pymysql.connect(\ print(type(conn)) #2通过链接对象获取游标对象 cursor=conn.cursor() print(type(cursor)) #3执行sql sql=\ try: cursor.execute(sql) print(\执行成功\ rst=cursor.fetchall() print(type(rst)) #print(rst) for row in rst:#从集合中获取记录 for i in range(0,6):#从记录中获取列值 print(row[i])#获取列值 print(\ except: print(\执行失败!\ 5、 将结果封装在学生的对象集合中 (1) 创建学生类student.py class Student(object): sid=0; sname=\无名氏\ sex=\男\ address=\未知\ birthday=\-01-01\ classid=\ def Student(self,sname,sex,address,sdate,cid): self.sname=sname self.sex=sex self.address=address self.birthday=sdate self.classid=cid (2) 将结果及数据转为学生集合 import pymysql#引入数据库组件 from com.bean.student import Student #从com.bean.student文件中引入Student类 #1获取连接对象 conn=pymysql.connect(\ print(type(conn)) #2通过链接对象获取游标对象 cursor=conn.cursor() print(type(cursor)) #3执行sql sql=\ try: cursor.execute(sql) print(\执行成功\ rst=cursor.fetchall() print(type(rst)) lsst=[]#准备学生数组 #print(rst) ######封装学生数据到集合###################################### for row in rst:#从集合中获取记录 # 将表的字段值设置到学生对象中 st=Student() st.sid=row[0] st.sname = row[1] st.sex = row[2] st.address = row[3] st.birthday = row[4] st.classid = row[5] ################################# lsst.append(st)#将学生对象设置到集合 ############################################################## for st in lsst: print(st.sid,\ \ print(\ print(lsst) except: print(\执行失败!\ 6、 编写数据库执行的工具类dbutil.py,处理数据库连接和各种sql语句 import pymysql # 引入数据库组件 class DbUtile(object): #编写通用的sql的增删改方法 def executeUpdate(sql,parms): print(sql) print(parms)
python爬虫第十七课-使用Python访问MySql数据库(2)



