python学习笔记之pymysql数据库模块的使用
# !/usr/bin/env python# -*- coding:utf-8 -*-# @Author: QQ736592720# @file: 简答题466___ios虚拟机定制.py# @Time: 2022/4/2 11:19# !/usr/bin/python# -*- coding: utf-8 -*-# @Version: 1.0# @Author: QQ736592720# @D
·
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author : QQ736592720
# @file : 简答题466___ios虚拟机定制.py
# @Time : 2022/4/2 11:19
# !/usr/bin/python
# -*- coding: utf-8 -*-
# @Version : 1.0
# @Author : QQ736592720
# @Datetime : 2021/1/31 21:49
# @Project : pythonQuestionBank
# @File : 简答题411___pyautogui练习.py
'''
phpStudy2017
db:user
table:apple_id
fields:email,phone,comment
unique key:email
'''
import pymysql
'''使用PyMySQL模块固定不变的执行顺序
1. 建立连接
2. 拿到游标
3. 执行SQL语句
4. 事务处理(提交修改)
5. 关闭(游标、连接)
游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
每个游标区都有一个名字。
用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
'''
class MySql():
def __init__(self, password, db_name, table):
self.table = table
# 建立连接
self.con = pymysql.connect(host="localhost", user="root", password=password, database=db_name, port=3306)
# self.con.cursor()
# self.con.commit()#sql语句执行完之后,需要提交修改才能在数据库中修改
# self.con.begin()#事务开始
# self.con.rollback()#事务回滚
# self.con.close()
# 拿到游标 execute fetchall fetchone close
self.cur = self.con.cursor()
# self.cur.execute()
# self.cur.fetchall()
# self.cur.fetchone()
# self.cur.close()
def fetchall(self):
self.cur.execute("SELECT * FROM {}".format(self.table))
data = self.cur.fetchall()
# self.con.close()
return data
def fetchone(self):
self.cur.execute("SELECT * FROM {} limit 1".format(self.table))
data = self.cur.fetchall()
# self.con.close()
return data
def insert(self, email, phone, comment): # 字段 email,phone,comment
try:
add_sql = " insert into {}(email,phone,comment) values (%s,%s,%s) ".format(self.table)
self.cur.execute(add_sql, (email, phone, comment))
self.con.commit()
print('执行成功!')
except Exception as e:
print(u'错误提示...', e)
self.con.rollback()
finally:
...
# self.cur.close()
def delete(self, email):
try:
sql = "delete from {} where email='{}'".format(self.table, email) # 删除student表中id为2的行
self.cur.execute(sql)
self.con.commit() # 事件提交
except Exception as e:
print(u'错误提示...', e)
if __name__ == '__main__':
db = MySql('root', 'user', 'apple_id') # 数据库登录密码,数据库名,表名
db.insert("111@qq.com", "16620122910", "xiuxian")
# db.delete("111@qq.com")
r = db.fetchall()
print(r)
# r = db.fetchone()
# print(r)
更多推荐
已为社区贡献14条内容
所有评论(0)