1. 程式人生 > >mysql與python的互動(封裝,模擬使用者註冊,登入的案例)

mysql與python的互動(封裝,模擬使用者註冊,登入的案例)

好,今晚我申正道打了雞血,瘋狂總結,主要不想一個數據庫拖太久時間了,今天好像都第三天了,後面的東西還很多,這樣只會把知識越壓越多,所以讓我們幹起來了吧,這篇主要就說一下mysql資料庫與python的互動,程式碼的封裝和使用。

直接把我寫的原始碼放上來吧,太長了不好截圖。

import pymysql
import hashlib

#建立一個類
class MysqlHelper():
    #初始化屬性
    def __init__(self, host,database, user, password,port=3306,charset='utf8'):
        self.host=host
        self.port=port
        self.db=database
        self.user=user
        self.passwd=password
        self.charset=charset
    #連結的方法
def connect(self): self.conn=pymysql.connect(host=self.host, port=self.port, db=self.db, user=self.user, password=self.passwd, charset=self.charset) self.cursor=self.conn.cursor() #關閉的方法 def close(self): self.cursor.close() self.conn.close() #查詢一個的方法 def
select_one(self,sql,params=[]):
result=None try: self.connect() self.cursor.execute(sql, params) result = self.cursor.fetchone() self.close() except Exception as e: print(e) return result #查詢所有的方法 def
select_all(self,sql,params=[]):
list=() try: self.connect() self.cursor.execute(sql,params) list=self.cursor.fetchall() self.close() except Exception as e: print(e) return list def __edit(self,sql,params): count=0 try: self.connect() count=self.cursor.execute(sql,params) self.conn.commit() self.close() except Exception as e: print(e) return count #增加的方法 def insert(self, sql, params=[]): return self.__edit(sql, params) #修改的方法 def update(self, sql, params=[]): return self.__edit(sql, params) #刪除的方法 def delete(self, sql, params=[]): return self.__edit(sql, params) #md5加密的方法 def my_md5(self, pwd): my_md5 = hashlib.md5() my_md5.update(pwd.encode('utf-8')) return my_md5.hexdigest()

其實就是使用面向的物件的思想,將程式碼封裝起來,使用的時候直接匯入,進行呼叫,這樣就避免了我們每次都要打很多程式碼,這樣提高了程式碼的簡潔性,而且提高了程式碼的可拓展性。下面我們就寫個程式碼來使用一下。

from fengzhuang import MysqlHelper
import hashlib




def register():
    name = input("使用者名稱>")
    pwd = input("密碼>")

    helper = MysqlHelper(host="localhost", database="zhengdao", user="root", password="915210")
    ret = helper.insert("insert into t_user(name,pwd) values(%s,%s)",[name,helper.my_md5(pwd)])
    if ret>0:
        print("成功")
    else:
        print("失敗")


def login():
    name = input("使用者名稱>")
    pwd = input("密碼>")

    helper = MysqlHelper(host="localhost", database="zhengdao", user="root", password="915210")
    ret = helper.select_one("select count(*) from t_user where name=%s and pwd=%s",[name,helper.my_md5(pwd)])
    if ret[0]>0:
        print("成功")
    else:
        print("失敗")

def main():
    while True:
        choice = input("1、註冊1   2、登入 ")
        if choice == "1":
            register()
        elif choice == "2":
            login()


if __name__ == '__main__':
    main()


首先匯入我們封裝的py檔案,然後建立物件,直接呼叫我們寫好的方法,這樣是不是就簡單了很多?避免了我們每次都要建立連線物件,少寫了很多程式碼啊。呃,這個程式碼是我今天白天提前寫好的,不是現打的,我的速度還沒有那麼快,距離上篇發表僅僅十分鐘,對,這案例,程式碼啥的都是我提前寫好的。。。

大家如果要使用我的原始碼,需要進行修改一些東西。比如自己的連線服務端的IP地址,還有使用者名稱,密碼等,資料庫表中的名字,資訊也不一樣,這些都需要進行修改的,大家需要注意一下。

好了今天就可以結束了,總結肯定不是很完善,所以以後會慢慢進行補充,從明天開始,應該就要總結前端的一些東西了。還是那句話,風雨裡做事,陽光下做人,不要以為程式設計師起薪很高,需要付出的東西也很多,技術一直在更新,如果不保持一顆學習的心,那麼你遲早被這個行業所淘汰!

相關推薦

mysqlpython互動封裝模擬使用者註冊登入案例

好,今晚我申正道打了雞血,瘋狂總結,主要不想一個數據庫拖太久時間了,今天好像都第三天了,後面的東西還很多,這樣只會把知識越壓越多,所以讓我們幹起來了吧,這篇主要就說一下mysql資料庫與python的互動,程式碼的封裝和使用。 直接把我寫的原始碼放上來吧,

mysql005--mysqlpython互動

一、安裝相關包        ubuntu下安裝命令: sudo apt-get install python-mysqldb        pycharm安裝依賴包:         二、程式碼示例 測試表的結構: #encoding=utf-8 impor

redis學習之Python互動

安裝包 到中文官網查詢客戶端程式碼 聯網安裝 sudo pip install redis 使用原始碼安裝 unzip redis-py-master.zip cd redis-py-maste

python3 速查參考- python基礎 8 -> 面向對象基礎:類的創建基礎使用類屬性property、類方法、靜態方法、常用知識點概念封裝、繼承等等見下一章

fde ODB 面向 繼承 普通 實參 使用 後者 people 基礎概念 1.速查筆記: #-- 最普通的類 class C1(C2, C3): spam = 42 # 數據

pythonMySQL基礎的互動增刪改查

import pymysql # 開啟資料庫連線(ip/資料庫使用者名稱/登入密碼/資料庫名) db = pymysql.connect(host='localhost',user='root',pa

四十八、mysql資料庫7:Mysqlpython互動、引數化重點pythonmysql互動傳參

一、使用python命令連線資料庫流程 二、python3 安裝pymysql包 建立py檔案,進行插入資料:通過python檔案來連線資料庫實現互動(前提需要安裝pymysql包) 1、Li

MySql資料庫python互動查詢封裝(十二)

查詢一行資料 建立testSelectOne.py檔案,查詢一條學生資訊 #encoding=utf8 import MySQLdb try: conn=MySQLdb.connect(ho

mysqlpython互動 pymysql

mysql與python的互動 pymysql 主鍵寫0,null,default都自動遞增 不是主鍵,預設,只能寫default 1.拆為多個表 先建立一個新的表 if not exists 如果原來不存在就建立表 寫入:insert into good_cates (na

mysqlpython互動

1. 建立一個data.sql檔案,即mysql資料庫檔案: set names utf8; #設立程式碼內容為utf8格式。 drop database if exists boke #如果boke資料庫存在就刪除。 create database

MySql資料庫python互動型別(十)

與python互動簡介 在熟練使用sql語句的基礎上,開始使用python語言提供的模組與mysql進行互動 這是我們在工作中大事要做的事 先學會sql是基礎,一定要熟練編寫sql語句 安裝引入模

MySql資料庫python互動使用者登入(十三)

例項:使用者登入 建立使用者表userinfos 表結構如下 id uname upwd isdelete 注意:需要對密碼進行加密 如果使用md5加密,則密碼包含32個字元

工大助手C#python互動

工大助手(爬蟲——C#與python互動) 基本內容 工大助手(桌面版) 實現登陸、查成績、計算加權平均分等功能 團隊人員 13070046 孫宇辰 13070003 張帆 13070004 崔巍 13070006 王奈 13070002 張雨帆 13070045 汪天米 工大教務爬蟲編寫(C#與py

MySQLpython互動Python就得這樣學!

create database jing_dong charset=utf-8; use jing_dong;       建立商品goods的資料表; mysql> create table goods( -> id in

websocekt-pythonJs互動2

# -*- coding:utf8 -*- import threading import hashlib import socket import base64 class websocket_thread(threading.Thread): def __i

python資料庫-MySQLpython互動(52)

  一、python3中安裝PyMySQL模組 命令安裝: sudo apt-get install python-mysql 或者 pip install pymysql 2、使用在pyCharm中安裝PyMySQL模組   二、PyMysql物件說明

MySQLPython交互

turn res 方式 etc 關閉 .com elf products from sudo apt-get install python-mysql 假設有一數據庫test1,裏面有一張產品信息表products,向其中插入一條產品信息,程序如下: # -*- codin

Charles的基本操作方法python基礎

inpu 格式 format log text src 基礎 pos -s 開始與結束按鈕: 斷點按鈕: 清空按鈕: 若抓不到包可嘗試更改瀏覽器重新請求 python基礎(一) 計算機語言分為編譯型語言和解釋型語言,編譯型語言需要提前編譯,然後直接拿來運行,但解釋型語

可以用py庫: pyautogui 自動測試模塊模擬鼠標、鍵盤動作來代替pyuserinput

idt 發現 bar odi 不想 .whl article 想要 pytho PyAutoGUI 是一個人性化的跨平臺 GUI 自動測試模塊 pyUserInput模塊安裝前需要安裝pywin32和pyHook模塊。(想要裝的看https://www.cnblogs.c

【轉】【MySQLMySQL中的鎖表鎖、行鎖共享鎖排它鎖間隙鎖

https://blog.csdn.net/soonfly/article/details/70238902 本文參考:  http://mysqlpub.com/thread-5383-1-1.html  http://blog.csdn.net/c466254931/ar

JavaWCF互動一 Java客戶端呼叫WCF服務

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!