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地址,還有使用者名稱,密碼等,資料庫表中的名字,資訊也不一樣,這些都需要進行修改的,大家需要注意一下。
好了今天就可以結束了,總結肯定不是很完善,所以以後會慢慢進行補充,從明天開始,應該就要總結前端的一些東西了。還是那句話,風雨裡做事,陽光下做人,不要以為程式設計師起薪很高,需要付出的東西也很多,技術一直在更新,如果不保持一顆學習的心,那麼你遲早被這個行業所淘汰!
相關推薦
mysql與python的互動(封裝,模擬使用者註冊,登入的案例)
好,今晚我申正道打了雞血,瘋狂總結,主要不想一個數據庫拖太久時間了,今天好像都第三天了,後面的東西還很多,這樣只會把知識越壓越多,所以讓我們幹起來了吧,這篇主要就說一下mysql資料庫與python的互動,程式碼的封裝和使用。 直接把我寫的原始碼放上來吧,
mysql005--mysql與python互動
一、安裝相關包 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 # 數據
python與MySQL基礎的互動(增刪改查)
import pymysql # 開啟資料庫連線(ip/資料庫使用者名稱/登入密碼/資料庫名) db = pymysql.connect(host='localhost',user='root',pa
四十八、mysql資料庫7:Mysql與python的互動、引數化(重點python與mysql互動傳參)
一、使用python命令連線資料庫流程 二、python3 安裝pymysql包 建立py檔案,進行插入資料:通過python檔案來連線資料庫實現互動(前提需要安裝pymysql包) 1、Li
MySql資料庫與python互動查詢與封裝(十二)
查詢一行資料 建立testSelectOne.py檔案,查詢一條學生資訊 #encoding=utf8 import MySQLdb try: conn=MySQLdb.connect(ho
mysql與python的互動 pymysql
mysql與python的互動 pymysql 主鍵寫0,null,default都自動遞增 不是主鍵,預設,只能寫default 1.拆為多個表 先建立一個新的表 if not exists 如果原來不存在就建立表 寫入:insert into good_cates (na
mysql與python的互動
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
MySQL與python的互動!Python就得這樣學!
create database jing_dong charset=utf-8; use jing_dong; 建立商品goods的資料表; mysql> create table goods( -> id in
websocekt-python與Js互動(2)
# -*- coding:utf8 -*- import threading import hashlib import socket import base64 class websocket_thread(threading.Thread): def __i
python資料庫-MySQL與python的互動(52)
一、python3中安裝PyMySQL模組 命令安裝: sudo apt-get install python-mysql 或者 pip install pymysql 2、使用在pyCharm中安裝PyMySQL模組 二、PyMysql物件說明
MySQL與Python交互
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
【轉】【MySQL】MySQL中的鎖(表鎖、行鎖,共享鎖,排它鎖,間隙鎖)
https://blog.csdn.net/soonfly/article/details/70238902 本文參考: http://mysqlpub.com/thread-5383-1-1.html http://blog.csdn.net/c466254931/ar
Java與WCF互動(一 Java客戶端呼叫WCF服務
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!