python3使用flask-sqlalchemy操作mysql
由於 MySQL-python 不支援 Python 3(MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported),python3下使用flask-sqlalchemy時,安裝的命令是:
pip install pymysql
pip install flask-sqlalchemy
相關程式碼如下:
# config.py
SECRET_KEY = 'flaskMysql'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://user:[email protected] :port/dbname'
SQLALCHEMY_TRACK_MODIFICATIONS = True
DEBUG = True
# _init_.py from flask import Flask, render_template, jsonify from db_mysql import db app = Flask(__name__) # 新建app物件 app.config.from_object('config') # 載入配置資訊,其中有資料庫的配置資訊,包含在SQLALCHEMY_DATABASE_URI中 # 初始化db,並建立models中定義的表格 with app.app_context(): # 新增這一句,否則會報資料庫找不到application和context錯誤 db.init_app(app) # 初始化db db.create_all() # 建立所有未建立的table
#db_mysql.py from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, nullable=False, primary_key=True, autoincrement=True) username = db.Column(db.String(32), nullable=False, unique=True, server_default='', index=True) role_id = db.Column(db.Integer, nullable=False, server_default='0') def __init__(self,username,role_id): self.username = username self.role_id = role_id def __repr__(self): return '<User %r,Role id %r>' %(self.username,self.role_id) class Role(db.Model): __tablename__ = 'roles' id = db.Column(db.Integer, nullable=False, primary_key=True, autoincrement=True) name = db.Column(db.String(16), nullable=False, server_default='', unique=True) def __init__(self,name): self.name = name def __repr__(self): return '<Role %r>' % self.name
資料庫關聯操作:
#按使用者名稱摸糊查詢
User.query.join(Role).filter(Users.username.like('%xx%'))
#select xxx from User inner join Role on user.role_id=role.id where user.username like '%xx%'
#左外聯接(left join)
User.query.outerjoin(Role).filter(Users.username.like('%xx%'))
#select xxx from User left outer join Role on user.role_id=role.id where user.username like '%xx%'
#以上是已經設定好外來鍵,它自動找到關聯的欄位.也可以自己指定:
User.query.join(Role,User.role_id==Role.id).filter(User.username.like('%xx%'))
#select xxx from User inner join User on user.role_id=role.id where user.username like '%xx%'
相關推薦
使用SQLAlchemy操作MYSQL黑科技之 屬性訂制
relation check kref sql 黑科技 ack ada generate user 1 class Role(UserMixin, db.Model): 2 __tablename__ = ‘Role‘ 3 id = db.Colum
通過sqlalchemy操作mysql
Coding user abc base ati 實例 對象 metadata maker # 安裝 pip3 install sqlalchemy import sqlalchemyfrom sqlalchemy import create_enginefrom sqla
python3使用flask-sqlalchemy操作mysql
由於 MySQL-python 不支援 Python 3(MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported),python3下使用flask-sqlalchemy時,安裝的
Flask之SQLAlchemy操作mysql
這裡我們來學習下python操作mysql。以下環境都是在Ubuntu 18.04當中。 flask使用SQLAlchemy來操作mysql。 安裝 首先我們要安裝mysql-python pip install mysql-python
Python之Mysql及SQLAlchemy操作總結
pla values 兩個 調用 聯合 判斷 null 替換 python3 一、Mysql命令總結 1.創建庫 create database test1; 2.授權一個用戶 grant all privileges on *.* to ‘feng‘@‘%‘ identi
pymysql和sqlalchemy模塊操作mysql數據庫
stat not null 訪問 ons rst rim 作用 roo llb 這兩個模塊可以直接通過pip安裝: 打開mysql創建幾個表: CREATE TABLE `student_age`( `id` int not null, `age` int
Python3:sqlalchemy對mysql數據庫操作,非sql語句
quest 用戶 prim bind afa make -c 細節 strip() Python3:sqlalchemy對mysql數據庫操作,非sql語句 # python3 # author lizm # datetime 2018-02-01 10:00:00 #
【轉】MySQL— pymysql and SQLAlchemy Python開發【第十九篇】:Python操作MySQL
【轉】MySQL— pymysql and SQLAlchemy 目錄 一、pymysql 二、SQLAlchemy 一、pymysql pymsql是Python中操作MySQL的模組,其使用方法和MySQLdb幾乎相同。 1. 下載安裝 #在終端直接執行 pip3 install p
Python中使用SQLAlchemy連線Mysql資料庫(單表操作)
一,SQLAlchemy的安裝 使用 $ easy_install sqlalchemy 或 $ pip install sqlalchemy 如果出現什麼錯,就進去root使用者下進行安裝試試,或者網上查查 >>>
【php】php操作MySQL數據庫
style 錯誤信息 庫服務器 例如 sql conn 指定 spa 布爾 一、操作步驟: 1. 連接MySQL數據庫並判斷是否連接成功2. 選擇數據庫3. 設置字符集4. 準備SQL語句5. 向MySQL服務發送SQL語句6. 解析處理結果集7. 釋放結果集,關閉數據庫連
PHP 操作MySQL
foreach cnblogs 增強 cep exc 操作 ... mysql用戶 服務器連接失敗 php中操作mysql數據庫的函數 php最初提供一套連接操作mysql函數 mysql_xxx(); 後來提供了增強版函數 mysql
spring中操作mysql數據庫
lose jar sna mark 操作mysql red 分享 wordpress rac 就是在spring中,對mysql數據庫進行增刪改查的樣例,很easy。 文件結構 maven的pom.xml文件,裏面用到的幾個很重要的jar包都有 <pro
Python操作MySQL
port sdf cnblogs ctc hal tro 多行 執行sql lai 本篇對於Python操作MySQL主要使用兩種方式: 原生模塊 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模塊,其使用方法和
python3操作MySQL數據庫
更新數據 lin 用戶 head 比較 for man final bject 這是python3下的MySQL基本操作。其他類型的數據庫用法基本一樣。就是庫的名字不同。因為python官方很早之前就規定了數據庫第三方庫的借口,來避免API混亂的情況。 安裝與準備 這
python操作MySQL--實例
out bject 中文字符 stdout copy sys where init date 有一段時間,沒更新,但這都不是自己懶惰的借口,希望自己能堅持下去; python可以操作MySQL 數據庫,需要安裝的是MySQL-python,並且實現讀入excel表及生
在Node.js使用Promise的方式操作Mysql
lds 回調 mysql連接 contact 只需要 rom undefine easyn resolve 最近在學習Node.js,雖然早就聽說了回調地獄結果過了一周就遇到了。所以花時間學習了了一下Promise。雖然還有Async/await、co、生成器等選擇,但是因
Linux 操作MySQL常用命令行
數據 logs 相關 entry 註意 新增 otto delet 記錄 Linux 操作MySQL常用命令行註意:MySQL中每個命令後都要以分號;結尾。 1、顯示數據庫 mysql> show databases; +----------+ | Datab
Async.js解決Node.js操作MySQL的回調大坑
tty 類型 發生 獲取 rollback github data- map dsm 因為JavaScript語言異步特性。在使用Node.js運行非常多操作時都會使用到回調函數,當中就包含訪問數據庫。假設代碼中的業務邏輯略微復雜一點,回調一層層嵌套。那
PHP操作MySQL
php mysql一.PHP連接到MySQL 這裏,我們全面采用UTF-8編碼。設置Zend Stduio的編碼:Window -> Preferences -> Workspace 標頭設置,讓火狐和IE保持編碼統一:<?phpheader(‘Content-Type:text/html;
6.PHP操作MySQL的步驟
nag 代碼 clu con sset select ext lec url 第一步:PHP連接MySQL服務器 第三步:設置MySQL請求或返回數據的字符集 第四步:執行各種SQL語句 l 查詢SQL語句:mysql_query(“SELECT * FROM 00