flask連線資料庫

2022-09-20 01:33:10 字數 2224 閱讀 3445

3.定義模型

1.資料庫 和 框架的配置

1.安裝 sqlalchemy

pip3 install sqlalchemy

pip3 install flask-sqlalchemy

2.建立資料庫

create database flask default charset utf8 collate utf8_general_ci;

3.配置資料庫

from flask import flask

#將sqlalchemy匯入進來

from flask_sqlalchmey import sqlalchemy

#db是sqlalchemy的例項,表示程式正在使用的資料庫,同時也獲得了sqlalchemy中的所有功能

語法:class modelname(db.model):

__tablename__ = "tablename"

column_name = db.column(db.type,options)

1.modelname:定義模型類名稱,根據表名設定

2.tablename:對映到資料庫中表的名字

3.column_name:屬性名,對映到表中列的名字

4.db.type:對映到列的資料型別

5.options:列選項

db.type 列型別如下:

型別名 python型別 說明

integer int 普通整數,32位

samllinteger int 小範圍整數,通常16位

biginteger int或long 不限精度的整數

float float 浮點數

numeric decimal.decimal 定點數

string str 變長字串

text str 變長字串,優化

unicode unicode 變長unicode字串

unicodetext unicode 優化後的變長unicode

boolean bool 布林值

date datetime.date 日期

time datetime.time 時間

datetime datetime.datetime 日期和時間

options 列選項

選項名 說明

primary_key 設定為true則表示該列為主鍵

unique 設定為true則表示該列的值唯一

index 設定為true則表示該列要建立索引

nullable 設定為true則表示該列允許為空

default 為該列定義預設值

練習:1.建立 student 模型類

表名 : student

字段:1.id,主鍵,自增

2.sname ,長度為30的字串,不允許為空

3.sage ,整數

2.建立 teacher 模型類

表名 :teacher

字段:1.id,主鍵,自增

2.tname ,長度為30的字串

3.tage ,整數

3.建立 course 模型類

表名:course

字段:1.id ,主鍵,自增

2.cname ,長度為30的字串

4.資料庫操作

1.插入

db.session.add(models)

db.session.commit()

select s.sname,c.cname

from student as s

inner join student_course as sc

on s.id = sc.s_id

inner join course as c

on c.id = sc.c_id

where s.id = 1

window 下 : n**icate for mysql

flask連線資料庫

from flask sqlalchemy import sqlachemy import config 引入配置檔案必須在建立資料庫連線之前sqlalchemy database uri mysql root mysql localhost first flask 資料庫 使用者名稱 密碼 hos...

Flask 資料庫連線

flask擁有豐富的擴充套件元件,資料庫管理方面flask sqlalchemy簡化了資料庫管理的操作。sqlalchemy是乙個很強大的關係型資料庫框架,支援多種資料庫後台。其不但提供了高層orm,而且也提供了使用資料庫原生sql的底層功能。和其他大多數擴充套件一樣,flask sqlalchem...

flask連線資料庫的URI書寫格式

1.mysql mysql username password hostname database 2.postgresql postgresql username password hostname database 3.sqlite linux sqlite absolute path to d...