iT邦幫忙

0

伸縮自如的Flask [day12] Sql Database

好的,這裡來使用Sql的DataBase,我相信你已經知道或調查過了NoSql跟Sql兩種Database之間的差異。
至於為甚麼NoSql常用於大數據?從大大的口中得知了,你可以將一些計算量龐大的統計值,使用key-value的型態存起來然後定期更改value,這樣可以節省龐大的計算量。

再來安裝mySql的地點:
https://dev.mysql.com/downloads/mysql/

以及使用python來操作mySql套件的介紹flask-sqlalchemy:
https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/

pip install flask-sqlalchemy

建立連線yourapplication.py檔以及table中物件:


from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return '<User %r>' % self.username

使用之前,先在cmd打入下列指令以在DB中建立table中物件:

>>> from yourapplication import db
>>> db.create_all()

寫入資料:

from yourapplication import User,db
admin = User(username='admin', email='admin@example.com')
guest = User(username='guest', email='guest@example.com')
db.session.add(admin)
db.session.add(guest)
db.session.commit()

刪除資料:

me = User('admin', 'admin@example.com')
db.session.delete(me)
db.session.commit()

搜索資料:

peter = User.query.filter_by(username='peter').first()
print(peter.id)


尚未有邦友留言

立即登入留言