帮我写一个flask连接数据库的登录注册和增删改查的系统
时间: 2023-06-25 19:07:43 浏览: 64
好的,我可以给你提供一个简单的示例代码,但是需要注意的是,这是一个非常基础的示例,实际开发中需要根据具体情况进行修改和完善。
首先,需要准备好以下环境:
- Python 3.x
- Flask 框架
- MySQL 数据库
在安装 Flask 和 MySQL 之后,我们可以创建一个名为 `app.py` 的文件,文件内容如下:
```python
from flask import Flask, request, jsonify
import pymysql
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
# 数据库配置
DB_HOST = 'localhost'
DB_PORT = 3306
DB_USER = 'root'
DB_PASSWORD = 'root'
DB_NAME = 'testdb'
# 连接数据库
db = pymysql.connect(host=DB_HOST, port=DB_PORT, user=DB_USER, password=DB_PASSWORD, db=DB_NAME, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
# 登录接口
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
username = data.get('username')
password = data.get('password')
# 查询数据库
cursor = db.cursor()
sql = 'SELECT * FROM users WHERE username=%s AND password=%s'
cursor.execute(sql, (username, password))
user = cursor.fetchone()
if user:
return jsonify({'code': 0, 'message': '登录成功'})
else:
return jsonify({'code': 1, 'message': '用户名或密码错误'})
# 注册接口
@app.route('/register', methods=['POST'])
def register():
data = request.get_json()
username = data.get('username')
password = data.get('password')
# 查询数据库
cursor = db.cursor()
sql = 'SELECT * FROM users WHERE username=%s'
cursor.execute(sql, (username,))
user = cursor.fetchone()
if user:
return jsonify({'code': 1, 'message': '用户名已存在'})
else:
sql = 'INSERT INTO users (username, password) VALUES (%s, %s)'
cursor.execute(sql, (username, password))
db.commit()
return jsonify({'code': 0, 'message': '注册成功'})
# 查询接口
@app.route('/query', methods=['GET'])
def query():
cursor = db.cursor()
sql = 'SELECT * FROM users'
cursor.execute(sql)
users = cursor.fetchall()
return jsonify({'code': 0, 'data': users})
# 新增接口
@app.route('/add', methods=['POST'])
def add():
data = request.get_json()
username = data.get('username')
password = data.get('password')
cursor = db.cursor()
sql = 'INSERT INTO users (username, password) VALUES (%s, %s)'
cursor.execute(sql, (username, password))
db.commit()
return jsonify({'code': 0, 'message': '新增成功'})
# 修改接口
@app.route('/update', methods=['POST'])
def update():
data = request.get_json()
id = data.get('id')
username = data.get('username')
password = data.get('password')
cursor = db.cursor()
sql = 'UPDATE users SET username=%s, password=%s WHERE id=%s'
cursor.execute(sql, (username, password, id))
db.commit()
return jsonify({'code': 0, 'message': '修改成功'})
# 删除接口
@app.route('/delete', methods=['POST'])
def delete():
data = request.get_json()
id = data.get('id')
cursor = db.cursor()
sql = 'DELETE FROM users WHERE id=%s'
cursor.execute(sql, (id,))
db.commit()
return jsonify({'code': 0, 'message': '删除成功'})
if __name__ == '__main__':
app.run()
```
在这个示例代码中,我们使用了 Flask 框架来搭建一个简单的 Web 应用,并且连接了 MySQL 数据库。其中,`login` 和 `register` 分别是登录和注册的接口,`query`、`add`、`update` 和 `delete` 分别是查询、新增、修改和删除的接口。
使用时可以先创建一个名为 `users` 的表,包含 `id`、`username` 和 `password` 三个字段(可以根据实际情况进行修改),然后运行这个程序,在浏览器中访问相应的接口即可进行测试。注意,在实际开发中,需要对输入的数据进行合法性检查,并且使用更加完善的错误处理和安全措施。