python & MySQLdb(two)

Posted kailicard

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python & MySQLdb(two)相关的知识,希望对你有一定的参考价值。

实现python封装

# encoding=utf8
import MySQLdb

#定义类
class MysqlHelper():
    def __init__(self,host,port,db,user,passwd,charset=utf8):
       self.host=host
       self.port=port
       self.db=db
       self.user=user
       self.passwd=passwd
       self.charset=charset
     #初始化设置连接

    def connect(self):
        self.conn=MySQLdb.connect(host=self.host,port=self.port,db=self.db,user=self.user,passwd=self.passwd,charset=self.charset)
        self.cursor=self.conn.cursor()
    #进行连接

    def close(self):
        self.cursor.close()
        self.conn.close()
     #关闭连接


    def get_one(self,sql,param=()):
        result=None
        try:
            self.connect()
            self.cursor.execute(sql,param)
            result=self.cursor.fetchone()
            self.close()
        except Exception as e:
            print(e)
        return result
    #查找一行

    def get_all(self,sql,param=()):
        list=()
        try:
            self.connect()
            self.cursor.execute(sql,param)
            list=self.cursor.fetchall()
            self.close()
        except Exception as e:
             print(e)
        return list
    #查找全部数据


    def insert(self,sql,param=()):
        return self.__edit(sql,param)
    #返回插入数据

    def update(self,sql,param):
        return self.__edit(sql,param)
    #返回更改后数据

    def delete(self,sql,param):
        return self.__edit(sql,param)
    #返回删除数据

    def __edit(self,sql,param):
        count=0
        try:
            self.connect()
            count=self.cursor.execute(sql,param)
            self.conn.commit()
            self.close()
        except Exception as e:
            print(e)
        return count

实现添加操作:

#encoding=utf8
from fengzhaung import *

sql="insert into stu(stu_name,stu_hometown,gender) values(%s,%s,%s)"
stu_name=input("输入姓名")
stu_hometown=input("请输入家乡:")
gender=input("输入性别,1男,0女:")
param=[stu_name,stu_hometown,bool(gender)]
mysqlh=MysqlHelper(192.168.65.146,3306,student,root,toor)
count=mysqlh.insert(sql,param)
if count==1:
    print (ok)
else:
    print(error)

实现查找:

#encoding=utf8
from fengzhaung import *
#id=input("输入编号")
sql="select * from stu where stu_id=1"
helper=MysqlHelper(192.168.65.146,3306,student,root,toor)
s=helper.get_one(sql)
print(s)

最后还有一点小问题,怎么自主输入进行查找??试了几种办法,发现不行。

以上是关于python & MySQLdb(two)的主要内容,如果未能解决你的问题,请参考以下文章

python & MySQLdb(Three)

No module named MySQLdb

ImportError: No module named MySQLdb

[LeetCode&Python] Problem1: Two Sum

[LeetCode&Python] Problem 617. Merge Two Binary Trees

[LeetCode&Python] Problem 21. Merge Two Sorted Lists