zoukankan      html  css  js  c++  java
  • python & MySQLdb(Three)

    #实现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)
    最后还有一点小问题,怎么自主输入进行查找??试了几种办法,发现不行。
    

      

    mmp我搞了半天发现是在做字符串的转换,这个是必然报错的,但是我们用连接操作就可以了,利用MySQLhelper的get_one方法去传就可以了,自己真的菜啊看来

    #方法一:
    #encoding=utf8
    from fengzhaung import *
    ih=input("输入编号")
    print(id(ih))
    sql="select * from stu where stu_id="+ih
    helper=MysqlHelper('192.168.65.146',3306,'student','root','toor')
    s=helper.get_one(sql)
    print(s)
    #方法二
    #encoding=utf8
    from fengzhaung import *
    ih=input("请输入编号:")
    sql="select * from stu where stu_id=%s"
    param=[ih]
    helper=MysqlHelper('192.168.65.146',3306,'student','root','toor')
    s=helper.get_one(sql,param)
    print(s)
  • 相关阅读:
    [ASP.NET]有关缓存的一点点小思考(1)
    [C#]winfrom中DataGridView中下拉列表框数据绑定的一些小技巧
    [c#]自己制作类似winrar的打包程序(1)
    [ASP.NET]验证码的实现以及用户密码的简单加密
    [TEST]用live writer写博客
    【转载】什么是Code Smell 代码异味?
    【转】.NET NPOI操作Excel常用函数
    SpringRoo插件发布
    基于JChardet自动检测文件编码,批量转换文件编码,解决乱码问题
    FirstStep:搭建scala开发环境IDEA+scala插件+scala2.8
  • 原文地址:https://www.cnblogs.com/kk328/p/9901633.html
Copyright © 2011-2022 走看看