【ChatGPT】python fastapi mysql 实现 增删改查的代码
python fastapi mysql 实现 增删改查的代码
这段代码也是通过ChatGPT自动化实现的,技术实在是强悍!!!
以下是使用 Python FastAPI 和 MySQL 实现增删改查的示例代码:
from fastapi import FastAPI
from fastapi import HTTPException
from pydantic import BaseModel
import mysql.connectorapp = FastAPI()# 数据库配置
config = {'user': 'root','password': 'password','host': 'localhost','database': 'test'
}# 连接数据库
db = mysql.connector.connect(**config)
cursor = db.cursor()# 用户数据模型
class User(BaseModel):id: intname: strage: intemail: str# 获取所有用户
@app.get("/users")
def read_users():query = "SELECT id, name, age, email FROM users"cursor.execute(query)result = cursor.fetchall()users = []for row in result:user = dict(zip(cursor.column_names, row))users.append(user)return users# 获取单个用户
@app.get("/users/{user_id}")
def read_user(user_id: int):query = "SELECT id, name, age, email FROM users WHERE id = %s"cursor.execute(query, (user_id,))result = cursor.fetchone()if result is None:raise HTTPException(status_code=404, detail="User not found")user = dict(zip(cursor.column_names, result))return user# 创建用户
@app.post("/users")
def create_user(user: User):query = "INSERT INTO users (id, name, age, email) VALUES (%s, %s, %s, %s)"values = (user.id, user.name, user.age, user.email)cursor.execute(query, values)db.commit()return {"message": "User created successfully"}# 更新用户
@app.put("/users/{user_id}")
def update_user(user_id: int, user: User):query = "UPDATE users SET name = %s, age = %s, email = %s WHERE id = %s"values = (user.name, user.age, user.email, user_id)cursor.execute(query, values)db.commit()if cursor.rowcount == 0:raise HTTPException(status_code=404, detail="User not found")return {"message": "User updated successfully"}# 删除用户
@app.delete("/users/{user_id}")
def delete_user(user_id: int):query = "DELETE FROM users WHERE id = %s"cursor.execute(query, (user_id,))db.commit()if cursor.rowcount == 0:raise HTTPException(status_code=404, detail="User not found")return {"message": "User deleted successfully"}
在这个示例代码中,我们使用了 FastAPI 和 Pydantic 库来定义路由和数据模型。我们还使用了 MySQL Connector 库来连接和操作 MySQL 数据库。
我们定义了一个 User 类来表示用户数据模型,并使用了 HTTPException 类来处理 HTTP 错误。在每个路由函数中,我们执行了 SQL 查询或修改操作,并将结果转换为 Python 字典返回。如果出现错误,我们使用 HTTPException 类来返回错误响应。
在实际开发中,需要根据具体情况进行调整和优化。这个示例代码可以作为一个基本的参考。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
