flask數據庫連接


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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM