다음은 Flask의 SQLAlchemy 라이브러리를 사용하여 MySQL 데이터베이스의 추가, 삭제, 수정 및 쿼리를 구현할 수 있는 간단한 샘플 코드입니다.
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)
위의 샘플 코드에서 우리는 User
이라는 데이터 모델을 정의한 다음 Flask에서 사용자 생성, 모든 사용자 가져오기, 단일 사용자 가져오기, 사용자 업데이트 및 사용자 삭제에 사용되는 5개의 경로를 만들었습니다. 각 경로에서 SQLAlchemy를 사용하여 데이터베이스에서 작동합니다. SQLAlchemy를 사용할 때 먼저 Flask 애플리케이션에서 데이터베이스 연결 정보 및 데이터 모델을 정의해야 합니다.
MySQL 커서를 사용하면 SQL 명령을 직접 실행하여 MySQL 데이터베이스를 추가, 삭제, 수정 및 쿼리할 수도 있습니다. 다음은 MySQL 커서를 사용하여 MySQL 데이터베이스의 추가, 삭제, 수정 및 쿼리를 구현할 수 있는 간단한 샘플 코드입니다.
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")
위의 샘플 코드에서는 먼저 MySQL 데이터베이스에 연결한 다음 MySQL 커서 개체를 만들었습니다. execute()
다음으로 함수를 사용하여 데이터 삽입, 데이터 쿼리, 데이터 업데이트 및 데이터 삭제 등과 같은 SQL 명령을 실행할 수 있습니다. commit()
SQL 명령을 실행한 후 트랜잭션의 변경 사항을 커밋하는 함수를 사용해야 합니다 .