小李:嘿,小张,最近公司需要一个轻量级的数据管理系统,你觉得用什么方案比较好?
小张:我觉得可以试试开源工具。现在有很多优秀的开源数据库和框架,比如SQLite和Flask。
小李:那我们从哪里开始呢?
小张:首先,我们可以用SQLite作为我们的数据库引擎,因为它小巧且不需要单独运行服务器。
小李:听起来不错,那怎么搭建这个系统呢?
小张:好的,我来写一段简单的Python脚本,用Flask作为后端框架。
import sqlite3
from flask import Flask, request, jsonify
app = Flask(__name__)
# 初始化数据库
def init_db():
conn = sqlite3.connect('data.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS records (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
value TEXT NOT NULL
)
''')
conn.commit()
conn.close()
@app.route('/add', methods=['POST'])
def add_record():
data = request.get_json()
name = data['name']
value = data['value']
conn = sqlite3.connect('data.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO records (name, value) VALUES (?, ?)', (name, value))
conn.commit()
conn.close()
return jsonify({"status": "success"}), 201
@app.route('/list', methods=['GET'])
def list_records():
conn = sqlite3.connect('data.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM records')
rows = cursor.fetchall()
conn.close()
return jsonify(rows)
if __name__ == '__main__':
init_db()
app.run(debug=True)
]]>
小李:这段代码看起来很清晰!它能完成基本的增删改查功能吗?
小张:是的,目前实现了添加记录和查询记录的功能。后续我们可以扩展更多API。
小李:那我们现在怎么测试这个系统呢?
小张:你可以使用Postman或者curl命令来测试。比如,添加一条记录:
curl -X POST http://127.0.0.1:5000/add -H "Content-Type: application/json" -d '{"name":"test","value":"123"}'
]]>
然后查看所有记录:
curl http://127.0.0.1:5000/list
]]>
小李:太棒了!这样我们就有了一个简单的数据管理系统。
小张:没错,而且它是开源的,你可以根据需求自由修改和扩展。