


Beispiel dafür, wie flask_sqlalchemy die Datenbank in Python betreibt
Dieser Artikel zeigt Ihnen, wie flask_sqlalchemy eine Datenbank in Python betreibt. Ich hoffe, dass er Ihnen als Referenz dienen wird.
flask_sqlalchemy
Verwendet das Object-Relational Mapper (ORM)-Framework, das Datenbankoperationsanweisungen auf niedriger Ebene in objektorientierte Operationen auf hoher Ebene abstrahiert. Mit anderen Worten: Wenn wir die Datenbank-Engine direkt verwenden, müssen wir SQL-Operationsanweisungen schreiben, aber wenn wir das ORM-Framework verwenden, können wir die Operation von Datenbankentitäten wie Tabellen und Dokumenten in Python-Objekten vereinfachen
SQLAlchemy ist zum Standard für ORM in der Python-Welt geworden. Flask ist ein leichtgewichtiges Web-Framework, das frei mit ORM verwendet werden kann. SQLalchemy ist ein Plug-in, das speziell für Flask entwickelt wurde.
In Flask-SQLAlchemy wird die Datenbank über eine URL angegeben.
MySQL --> mysql://username:password@hostname/database
Installation
pip install flask-sqlalchemy
Vorgang in der Datenbank
1. So erstellen Sie eine Datenbankoperationsverbindung
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:sheen@localhost/zaj_sql' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True)
Um die anfängliche Datenbank zu erstellen, rufen Sie die Methode SQLAlchemy.create_all() auf, um die Tabellen und die Datenbank zu erstellen:
db.create_all()
Ihre Datenbank wurde generiert. Jetzt erstellen wir einige Benutzer
admin = User('admin', 'admin@example.com') guest = User('guest', 'guest@example.com')
, die jedoch noch nicht tatsächlich in die Datenbank geschrieben wurden. Stellen wir also sicher, dass sie in die Datenbank geschrieben wurden
db.session.add(admin) db.session.add(guest) db.session.commit()
2. Erstellen Sie die Beziehungstyp-Datenbanktabelle
SQLAlchemy ist mit einer relationalen Datenbank verbunden. Das Beste an relationalen Daten sind Beziehungen. Daher erstellen wir eine Anwendung am Beispiel zweier verwandter Tabellen.
Die häufigste Beziehung ist die Eins-zu-Viele-Beziehung. Da Beziehungen deklariert werden, bevor sie eingerichtet werden, können Sie Zeichenfolgen verwenden, um auf Klassen zu verweisen, die noch nicht erstellt wurden
Beziehungen werden mit der Funktion relation() dargestellt. Fremdschlüssel müssen jedoch separat mit der Klasse sqlalchemy.schema.ForeignKey deklariert werden.
from datetime import datetime from flask_bootstrap import Bootstrap from flask_wtf import FlaskForm from flask_sqlalchemy import SQLAlchemy from flask import Flask import pymysql from sqlalchemy import desc app = Flask(__name__) db = SQLAlchemy(app) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:sheen@localhost/zaj_sql' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True bootstrap = Bootstrap(app) class User(db.Model): id = db.Column(db.Integer,autoincrement=True,primary_key=True) name = db.Column(db.String(50),unique=True) passwd = db.Column(db.String(100)) add_time = db.Column(db.DATETIME,default=datetime.now()) gender = db.Column(db.BOOLEAN,default=True) role_id = db.Column(db.INTEGER,db.ForeignKey('role.id')) def __repr__(self): return '<user:>' %(self.name) class Role(db.Model): id = db.Column(db.INTEGER,autoincrement=True,primary_key=True) name = db.Column(db.String(50),unique=True) users = db.relationship('User',backref='role') # 给Role模型添加users属性 # backref 是定义反向引用 def __repr__(self): return '<role:>' % (self.name) if __name__ =='__main__': # 1. 创建数据库表 # db.drop_all() # db.create_all() # # 2. 创建role数据库表数据 role_1 = Role(name='超级会员') role_2 = Role(name='普通会员') db.session.add(role_1) db.session.add(role_2) db.session.commit() # # # 3. 添加user表内数据,100个用户,50个为超级会员,50个为普通会员 for i in range(1,13): if i%2 == 0: u = User(name='sheen'+str(i),passwd='sheen',role_id=1) db.session.add(u) else: u = User(name='star'+str(i),passwd='star',role_id=2) db.session.add(u) db.session.commit()</role:></user:>
backref definiert eine Rückreferenz und kann über User.role auf Rollenobjekte und -eigenschaften zugreifen.
Alle Daten abfragen
print('角色',Role.query.all()) print('用户',User.query.all())
Daten basierend auf Bedingungen abfragen
# select * from tablename where xxx=xxxxx print(User.query.filter_by(role_id=1).all()) print(Role.query.filter_by().all()) print(User.query.filter_by(role_id=2).all())
Aktualisieren Sie die gefundenen Daten
print('进行数据更新',end='\n') u =User.query.filter_by(name='sheen2').first() print(u) u.passwd = '123' db.session.add(u) db.session.commit()
Filterdatenmethode 2 (Filter), diese Methode kann die native SQL-Anweisung sehen
print('数据筛选', end='\n') user = User.query.filter(User.role_id==1) print(user)
Beschränken Sie die Anzeige der abgefragten Informationen
print('限制查询数据的显示', end='\n') users = User.query.filter_by(role_id=1).limit(3).all() print(users)
Sortieren Sie die Ausgabe der abgefragten Informationen (standardmäßig von klein nach groß sortieren), wenn Sie von groß nach klein sortieren möchten: desc(User. add_time)
print('数据再处理', end='\n') users = User.query.filter_by(role_id=1).order_by(desc(User.name)).all() print(users)
Mehrere Filterfunktionen
print('多个过滤函数', end='\n') users = User.query.filter_by(role_id=1).order_by(desc(User.name)).limit(3).offset(1).all() print(users) users = User.query.filter_by(role_id=1).order_by(desc(User.name)).slice(1,4).all() print(users)
Page, der erste Parameter gibt an, welche Datenseite angezeigt wird, und der zweite Parameter gibt an, welche Datenseite angezeigt wird wird angezeigt Wie viele Daten
print('分页显示', end='\n') users = User.query.paginate(1,5) print(users.items) users = User.query.paginate(2, 5) print(users.items)
Das obige ist der detaillierte Inhalt vonBeispiel dafür, wie flask_sqlalchemy die Datenbank in Python betreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

Python eignet sich für Datenwissenschafts-, Webentwicklungs- und Automatisierungsaufgaben, während C für Systemprogrammierung, Spieleentwicklung und eingebettete Systeme geeignet ist. Python ist bekannt für seine Einfachheit und sein starkes Ökosystem, während C für seine hohen Leistung und die zugrunde liegenden Kontrollfunktionen bekannt ist.

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Sie können die Grundlagen von Python innerhalb von zwei Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master -Steuerungsstrukturen wie wenn Aussagen und Schleifen, 3. Verstehen Sie die Definition und Verwendung von Funktionen. Diese werden Ihnen helfen, einfache Python -Programme zu schreiben.

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Laden Sie Gurkendateien in Python 3.6 Umgebungsbericht Fehler: ModulenotFoundError: Nomodulennamen ...


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac
Visuelle Webentwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor