db.py
#基於pymysql import pymysql from app.config.secure import DHOST,DPORT,DUSER,DPWD,DATABASE,CHARSET class DB: # 構造函數 def __init__(self,data): try: # 獲取數據庫連接 self.conn = pymysql.connect(**data) # 獲取游標 self.cursor = self.conn.cursor(pymysql.cursors.DictCursor) except: pass # 增 def insert(self,sql,data): try: self.cursor.execute(sql,data) self.conn.commit() return self.cursor.lastrowid except Exception as e: print(e) self.conn.rollback() return 0 #刪 def delete(self,sql,data): try: self.cursor.execute(sql,data) self.conn.commit() return self.conn.affected_rows() except: self.conn.rollback() return 0 #改 def update(self,sql,data): try: self.cursor.execute(sql,data) self.conn.commit() return self.conn.affected_rows() except Exception as e: print(e) self.conn.rollback() return 0 #查 def select(self,sql,data=[]): try: if not data: self.cursor.execute(sql) else: self.cursor.execute(sql,data) data = self.cursor.fetchall() return data except: return [] # 查單條數據 def get_one(self,sql,data): try: self.cursor.execute(sql,data) data = self.cursor.fetchone() return data except: return {} #析構函數 def __del__(self): if self.cursor: self.cursor.close() if self.conn: self.conn.close() config = { "host":DHOST, "port":DPORT, "user":DUSER, "password":DPWD, "database":DATABASE, 'charset':CHARSET } db = DB(config) #查看 # sql = 'select * from user' # print(db.select(sql)) #添加 # sql = 'insert into user (name)values ("小花1")' # print(db.insert(sql)) #刪除 # sql = "delete from user where name='小花1';" # print(db.delete(sql)) #修改 # sql = "update user set name='{}' where id ={}".format('趙鶴',2) # print(db.update(sql))
secure.py
#安全的配置 機密配置 DEBUG = True # PORT = 6000 #數據庫相關的 DHOST = '127.0.0.1' DPORT = 3306 DUSER = 'root' DPWD = '' DATABASE = 'vod-admin' CHARSET = 'utf8' #secure_key SECRET_KEY = 'SEFDSGSGFGDSFSEFSDG'
通用連接
import pymysql #獲取數據庫連接 conn = pymysql.connect(host='127.0.0.1', user='root', password="",database='vod-admin', port=3306,charset='utf8') #准備一個sql語句 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) sql = 'select * from user' #執行sql語句 cursor.execute(sql) data = cursor.fetchall() print(data) #關閉連接 釋放資源 cursor.close() conn.close()