1. 程式人生 > >flask連線和操作資料庫

flask連線和操作資料庫

SQLALchemy資料庫

SQLALchemy是一個關係型資料庫框架,它提供了高層的ORM和底層的原生資料庫的操作。 flask-sqlalchemy是一個簡化了SQLALchemy操作的flask擴充套件。

flask使用SQLALchemy操作資料庫

在flask的虛擬環境中先安裝:flask_sqlalchemy ,pymysql

pip install flask_sqlalchemy
pip install pymysql

init.py中配置資料庫

import os
from flask import Flask
from flask_sqlalchemy import
SQLALchemy from Stu.views import stu def create_app(): BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) template_dir = os.path.join(BASE_DIR,'templates') static_dir = os.path.join(BASE_DIR,'static') app=Flask(__name__,template_floder=template_dir,static_floder=static_dir) # 配置資料庫
app.config['SQLALCHEMY_DATABASE_URI']= 'mysql+pymysql://root:[email protected]:3306/flask3' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Falseie # 註冊藍圖 app.register_blueprint(blueprint=stu,url_prefix='/stu') #初始化app SQLALchemy(app=app) return app

在model.py 建立模型

from
flask_sqlalchemy import SQLALchemy db = SQLALchemy() class Student(db.model): s_id = db.Column(db.Integer,primary_key=True,autoincrement=True) s_name = db.Column(db.String(20),unique =True) s_age = db.Column(db.Integer,default=18) __tablename__ = 'student'

建立表和增刪改查

在views.py中:

import random
from flask import Blueprint, render_template, request, redirect, url_for, make_response

from Stu.models import db, Student

stu = Blueprint('stu', __name__)


@stu.route('/')
def index():
    return render_template('index.html')


@stu.route('/score/')
def score():
    score_list = [21, 34, 33, 45, 67, 78]
    content_h2 = '<h2>少男<h2>'
    content_h3 = '  <h3>速度快解散<h3>'
    return render_template('score.html', score=score_list,
                           content_h2=content_h2,
                           content_h3=content_h3)


# 建立表
@stu.route('/createtable/')
def create_db():
    db.create_all()
    return '建立成功'


# 刪除表
@stu.route('/droptable/')
def drop_db():
    db.drop_all()
    return '刪除成功'


# 在資料庫建立單個學生
@stu.route('/createstu/')
def create_stu():
    stu = Student()
    stu.s_name = '小帥%d' % random.randrange(1000)
    stu.s_age = '%d' % random.randrange(20)
    db.session.add(stu)
    try:
        db.session.commit()
    except:
        db.session.rollback()
    return '建立學生成功'


# 一次建立多個學生  關鍵字:db.session.add_all(列表)
@stu.route('/createmoneystu/')
def create_money_stu():
    stu_list = []
    stu1 = Student(username1,age1)
    stu2 = Student(username2,age2)
    stu_list.append(stu1)
    stu_list.append(stu2)
    db.session.add_all(stu_list)
    db.session.commit
    return '建立多個學生成功'





# 查詢所有方法
@stu.route('/stulist/')
def stu_all():
    # 第一種查詢所有
    stus = Student.query.all()
    return render_template('studentlist.html', stus=stus)


# 查詢一個學生方法
@stu.route('/studentail/')
def stu_detail():
    # 原生的SQL語句查詢
    # sql = 'select * from student where s_name="小帥790";'
    # stus = db.session.execute(sql)

    # 使用filter
    # stus = Student.query.filter(Student.s_name == '小帥790')

    # 使用filter_by
    stus = Student.query.filter_by(s_name='小帥399')
    print(stus.first())
    return render_template('studentlist.html', stus=stus)


# 更新方法
@stu.route('/updatestu/')
def update_stu():
    # 第一種方式
    # stu = Student.query.filter_by(s_id=5).first()
    # stu.s_name = '李二狗'
    # 第二種方法
    Student.query.filter_by(s_id=5).update({'s_name': '王大錘'})

    db.session.commit()
    return redirect(url_for('stu.stu_all'))


# 刪除方法
@stu.route('/deletestu/')
def delete_stu():
    stu = Student.query.filter(Student.s_id == 5).first()
    db.session.delete(stu)
    db.session.commit()
    return redirect(url_for('stu.stu_all'))

相關推薦

flask連線操作資料庫

SQLALchemy資料庫 SQLALchemy是一個關係型資料庫框架,它提供了高層的ORM和底層的原生資料庫的操作。 flask-sqlalchemy是一個簡化了SQLALchemy操作的flask擴充套件。 flask使用SQLALchemy操作資料

Java連線操作資料庫

JDBC 1、JDBC是開發資料庫引用的java API,通過JDBC,使用Java設計的程式能夠執行SQL語言、獲取結果、在使用者介面中顯示資料,並且能將所做的改動傳回資料庫,同時JDBC API可用於分散式異型機環境中國多種資料來源之間的互動; 2、一般使用Jav

使用Java API連線操作HBase資料庫

建立的資料庫儲存如下資料 表結構 java程式碼 public class HbaseTest { /** * 配置ss */ static Configuration config = null;

Mac python3.6 利用cx_Oracle 連線操作Oracle資料庫

首先要用cx_Oracle訪問遠端oralce服務,需要安裝oracle客戶端 instantclient 具體操作可以看我例外一

postman介面自動化測試之利用node.jsxmysql連線操作資料庫

一、背景 使用postman進行介面自動化測試時,除了要驗證介面的返回,有時候還要同時驗證資料庫的資料,或者將介面返回的資料與資料庫的資料做對比,檢驗資料的正確性。 有的時候還需要在執行自動化case之前,造一些測試資料,或者在跑完自動化之後,刪除測試資料。 所以,我們需要在postman裡連線並操作資料庫,

(4)JDBCTools(呼叫連線關閉資料庫的方法)

jdbc.properties:我們在當前包底下建立一個File 命名為 url 是我們匯入的mysql-connection的jar包 我們一般是把jar包放到新建的lib下面 檢視url的具體步驟是: 開啟該專案的Referenced Libraries jdbc.propertie

c3p0連線操作資料庫亂碼

今天使用c3p0 xml 配置檔案操作資料庫一直出現中文亂碼  在網上找了好久 終於找到了解決辦法 如果你的程式執行沒有問題 只是出現亂碼的情況  那麼只要在 這個後面加上 &amp;useUnicode=true&amp;characterEncodin

python中redis的連線操作

一、redis   redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --有序集合)和hash(雜湊型別)。這些資料型別都支援push/pop、add/re

flask連線mysql資料庫操作增刪改查的簡單封裝函式

Y17 1、建立python資料夾,命名為app,建立並返回一個WGSI應用程式物件 from flask import Flask app = Flask(__name__) # 定義函式封裝路由配置 def path(route, fun, *, methods=['GE

【Java】SpringTomcat自帶的連線池實現資料庫操作

@[toc] 前言 前面我們已經用Spring和傳統的Jdbc實現資料庫操作、Spring和JdbcTemplate實現資料庫操作。但是這些都是基於直連的資料來源進行的,現在我們將介紹基於連線池的資料來源進行資料庫操作。前面幾個步驟都相同。 建立資料庫 首先建立我們的資料庫(這裡我使用的是Mysql)

python框架flask連線mysql資料庫操作

最近在用flask框架做一個python web專案,其中要連線資料庫,所以總結如下: 如何用pycharm快速建立一個flask專案我就不詳細說了,可以先建立虛擬環境,不過大部分的事pycharm都

flask連線mysql資料庫操作

Y21   以簡單的年級表格模型為例,介紹資料庫的增刪改查,條件查詢等操作 程式碼,以下: from app import db # 定義資料模型, 設定表格中各個欄位的資料型別 class Grade(db.Model): g_id = db.C

JDBC詳解之與mySQL資料庫連線基本操作

JDBC詳解 JDBC詳解 一 JDBC基本操作 MySQL的JDBC驅動包: mysql-connector-java-5.1.3

flask資料庫連線相關操作

---恢復內容開始--- 首先要安裝  flask-sqlalchemy  資料庫連線設定 在flask-SQLAlchemy中,資料庫使用URL指定,而且程式使用的資料庫必須儲存到flask配置物件的SQLALCHEMY_DATABASE_URL鍵中 app.config['SQ

java 初步簡單連線(SQL)資料庫操作

java初入門簡單連線並操作資料庫工具:eclipse            java1.7版本   heidisql 或比較新的 MySQL   MySQL連線驅動:mysql-connector-java-5.1.20.jar先在資料庫建表下載mysql-connecto

JDBC(資料庫的驅動、連線、java程式操作資料庫、事務、隔離級別、連線池等)

java操作資料庫的思想:連上資料庫,傳送sql語句。在連上資料庫之前,要先用程式啟動資料庫,因此,可以通過反射載入類驅動(com.jdbc.mysql.Driver)。通過驅動管理類的靜態方法傳遞資料庫的url來獲取一個連線物件(connection)。有三個過載的方法,第一個user和p

JSP學習之---運用useBeanjdbc操作。實現簡答前臺操作資料庫

JSP學習之—運用useBean和jdbc操作。實現簡答前臺操作資料庫。 功能描述 1 . 在”student”表中查詢所有大於特定年齡的學生資訊,此年齡由使用者指定(提示,在網頁上面新增一個文字框用於使用者輸入年齡,然後根據使用者輸入的年齡建立sql語句,下面加一個按鈕,單擊按

java連線操作mongodb資料庫(增、刪、查、改)

文末附有原始碼下載地址 package com.mongo.controller; import com.mongodb.*; import java.net.UnknownHostException; import java.util.Date; import java.util.Se

DEVOPS02-pymysql模組應用 sqlalchemyORM sqlalchemy操作資料庫

一、PyMySQL模組 1.1 PyMySQL安裝 1.1.1 使用pypi •  pypi即python package index •  是python語言的軟體倉庫 •  官方站點為https://pypi.python.org 1

flask連線mysql資料庫的一對一,一對多,多對多的處理關係。

Y18    以學生表與班級表為例,進行一對一,與一對多操作說明。 簡單部署: 1、建立flask資料夾,在資料夾中建立python檔案,命名為app,其中程式碼: from flask import Flask app = Flask(__name__) 2