数据库
来源:互联网 发布:python和c语言 编辑:程序博客网 时间:2024/05/29 08:18
1、安装flask支持的数据库:
pip install Flask-SQLALchemy;
pip install flask-wtf
粗心的宝宝们请把这两个都给装上哈!我第一次装的时候好像是大小写错了还是咋的(反正我的教材上面只让我安装上面那一个),一直报:No module named flask.ext.sqlalchemy
2、引入数据库文件
from flask.ext.sqlalchemy import SQLAlchemy #我们用到的数据库文件
import os #用于路径计算
3、数据库的基本配置
A、basedir=os.path.abspath(os.path.dirname(__file__)) #当前文件绝对路径
B、app=Flask(__name__)
C、app.config['SQLALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, 'yang_xiaoru.sqlite')
D、app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
E、db = SQLAlchemy(app) #通过这个db对象,就可以完成我们想要的数据库操作。
注释:虽然flask支持多种数据库,但是我们这里配置的是轻量级的sqlite数据库哈。
4、定义表结构
#Role表结构
class Role(db.Model):
__tablename__ = "roles"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
def __repr__(self):
return '<Role %r>' % self.name
#User表结构
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
addr = db.Column(db.String(64))
def __repr__(self):
return '<User %r>' % self.username
4、数据的增删改查
数据插入:
创建对象:role=Role(name="yang") #id是数字主键,会自动创建的
添加对象:db.session.add(role) 或者 db.session.add_all(role1,role2.role3)
执行操作:db.session.commit();
数据查询:
A、无条件查询
rs=Role.query.all()
for t in rs:
print t.id , t.name
B、条件查询
rs=Role.query.filter_by(id=1)
for t in rs:
print t.id,t.name
C、数据修改:
rs=Role.query.filter_by(id=1)
for t in rs:
t.name=t.name+"haha"
db.session.add(t)
db.session.commit()
D 、数据删除:
rs=Role.query.filter_by(id=3)
for t in rs:
db.session.delete(t)
db.session.commit()
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- 数据库
- PL SQL的事务管理
- 【智库2861】大数据和小数据
- Android EditText弹出软键盘实现页面标题头不动,软键盘弹出在编辑框下面
- java swing中使用jsch做sftp文件上传
- Java开发Excel POI getPhysicalNumberOfCells 与 getLastCellNum的区别
- 数据库
- spring Cloud笔记
- Mac 隐藏文件查看及关闭
- 除法取模与逆元
- Go语言学习笔记(五)-其他类型(指针、结构体、、)
- ArrayList的add和remove方法
- Android提供了一个名为SQLiteDatabase的类
- git操作记录
- jqGrid 学习