Fügen Sie die MySQL-Datenbank im Flask-Framework hinzu, löschen Sie sie, ändern Sie sie und überprüfen Sie sie

Das Folgende ist ein einfacher Beispielcode, der die SQLAlchemy-Bibliothek in Flask verwenden kann, um das Hinzufügen, Löschen, Ändern und Abfragen der MySQL-Datenbank zu implementieren:

from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/dbname'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    email = db.Column(db.String(50), unique=True)
    password = db.Column(db.String(50))

    def __init__(self, name, email, password):
        self.name = name
        self.email = email
        self.password = password

@app.route('/users', methods=['POST'])
def create_user():
    data = request.get_json()
    name = data['name']
    email = data['email']
    password = data['password']
    new_user = User(name, email, password)
    db.session.add(new_user)
    db.session.commit()
    return jsonify({
    
    'message': 'User created successfully!'})

@app.route('/users', methods=['GET'])
def get_users():
    users = User.query.all()
    output = []
    for user in users:
        user_data = {
    
    }
        user_data['id'] = user.id
        user_data['name'] = user.name
        user_data['email'] = user.email
        user_data['password'] = user.password
        output.append(user_data)
    return jsonify({
    
    'users': output})

@app.route('/users/<id>', methods=['GET'])
def get_user(id):
    user = User.query.get(id)
    if not user:
        return jsonify({
    
    'message': 'User not found!'})
    user_data = {
    
    }
    user_data['id'] = user.id
    user_data['name'] = user.name
    user_data['email'] = user.email
    user_data['password'] = user.password
    return jsonify({
    
    'user': user_data})

@app.route('/users/<id>', methods=['PUT'])
def update_user(id):
    user = User.query.get(id)
    if not user:
        return jsonify({
    
    'message': 'User not found!'})
    data = request.get_json()
    user.name = data['name']
    user.email = data['email']
    user.password = data['password']
    db.session.commit()
    return jsonify({
    
    'message': 'User updated successfully!'})

@app.route('/users/<id>', methods=['DELETE'])
def delete_user(id):
    user = User.query.get(id)
    if not user:
        return jsonify({
    
    'message': 'User not found!'})
    db.session.delete(user)
    db.session.commit()
    return jsonify({
    
    'message': 'User deleted successfully!'})

if __name__ == '__main__':
    app.run(debug=True)

Im obigen Beispielcode haben wir ein UserDatenmodell namens definiert und dann fünf Routen in Flask erstellt, die zum Erstellen von Benutzern, zum Abrufen aller Benutzer, zum Abrufen eines einzelnen Benutzers, zum Aktualisieren von Benutzern und zum Löschen von Benutzern verwendet werden. Auf jeder Route verwenden wir SQLAlchemy, um die Datenbank zu bearbeiten. Es ist zu beachten, dass wir bei der Verwendung von SQLAlchemy zunächst die Datenbankverbindungsinformationen und das Datenmodell in der Flask-Anwendung definieren müssen.

Mit dem MySQL-Cursor können Sie auch direkt SQL-Befehle ausführen, um die MySQL-Datenbank hinzuzufügen, zu löschen, zu ändern und abzufragen. Das Folgende ist ein einfacher Beispielcode, der den MySQL-Cursor zum Implementieren des Hinzufügens, Löschens, Änderns und Abfragens der MySQL-Datenbank verwenden kann:

import mysql.connector

# 连接 MySQL 数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="username",
    password="password",
    database="dbname"
)

# 创建 MySQL cursor
mycursor = mydb.cursor()

# 插入数据
sql = "INSERT INTO users (name, email, password) VALUES (%s, %s, %s)"
val = ("John", "[email protected]", "password123")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")

# 查询数据
mycursor.execute("SELECT * FROM users")
myresult = mycursor.fetchall()
for x in myresult:
    print(x)

# 更新数据
sql = "UPDATE users SET name = %s WHERE email = %s"
val = ("Mike", "[email protected]")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) updated")

# 删除数据
sql = "DELETE FROM users WHERE email = %s"
val = ("[email protected]",)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")

Im obigen Beispielcode haben wir zunächst eine Verbindung zur MySQL-Datenbank hergestellt und dann ein MySQL-Cursorobjekt erstellt. Als nächstes können wir Funktionen verwenden execute(), um SQL-Befehle auszuführen, z. B. Daten einfügen, Daten abfragen, Daten aktualisieren und Daten löschen usw. Es ist zu beachten, dass wir nach der Ausführung des SQL-Befehls die Funktion verwenden müssen, commit()um die Änderungen der Transaktion festzuschreiben.

Supongo que te gusta

Origin blog.csdn.net/weixin_42499608/article/details/131428153
Recomendado
Clasificación