MySQL数据库:与python交互

封装

#--*--coding:utf-8--*--
import MySQLdb
class MysqlHelper:
    def __init__(self,host='localhost',port=3306,db='python3',user='root',passwd='root',charset='utf8'):
        self.conn = MySQLdb.connect(host=host, port=port, db=db, user=user, passwd=passwd,charset=charset)

    def fetchone(self,sql,params=[]):
        try:
            cs1=self.conn.cursor()
            cs1.execute(sql,params)
            row = cs1.fetchone()
            cs1.close()
            self.conn.close()
            return row
        except Exception as e:
            print(e.message)

    def fetchall(self,sql,params=[]):
        try:
            cs1=self.conn.cursor()
            cs1.execute(sql,params)
            row = cs1.fetchall()
            cs1.close()
            self.conn.close()
            return row
        except Exception as e:
            print(e.message)

    def insert(self,sql,params=[]):
        return self.__cud(sql,params)


    def delete(self,sql,params=[]):
        return self.__cud(sql, params)

    def update(self,sql,params=[]):
        return self.__cud(sql, params)

    def __cud(self,sql,params=[]):
        try:
            cs1=self.conn.cursor()
            rows = cs1.execute(sql,params)
            self.conn.commit()
            cs1.close()
            self.conn.close()
            return rows
        except Exception as e:
            print(e.message)

调用:

#coding=utf-8
from MysqlHelper import MysqlHelper
from hashlib import sha1

#注册
# uname=raw_input("请输入用户名:")
# upwd=raw_input("请输入密码:")
#
# s1=sha1()
# s1.update(upwd)
# upwd2=s1.hexdigest()
#
# sql='insert into users(uname,upwd) values(%s,%s)'
# params=[uname,upwd2]
#
# helper=MysqlHelper()
# row=helper.insert(sql,params)
# print row

#登录
uname=input("请输入用户名:")
upwd=input("请输入密码:")

s1=sha1()
s1.update(upwd.encode())
upwd2=s1.hexdigest()

sql="select upwd from users where uname=%s"
params=[uname]

helper=MysqlHelper()
result=helper.fetchone(sql,params)
if result==None:
    print ('用户名错误')
elif result[0]==upwd2:
    print ('登录成功')
else:
    print ('密码错误')

root—dc76e9f0c0006e8f919e0c515c66dbba3982f785

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值