网站建设资讯

NEWS

网站建设资讯

flask学习之数据库操作一-创新互联

数据库操作使用

创新互联建站专注于企业成都营销网站建设、网站重做改版、诏安网站定制设计、自适应品牌网站建设、H5开发商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为诏安等各大城市提供网站开发制作服务。sqlalchemy模块安装(需安装MySQL-python/python-devel) pip install flask-sqlalchemy

目录结构

├── app │   ├── __init__.py │   └── models.py ├── config.py

配置环境

vim config.py #coding:utf-8 SQLALCHEMY_DATABASE_URI = 'mysql://mysqlTest:mysqlTest@192.168.3.85/mysqlTest' SQLALCHEMY_TRACK_MODIFICATIONS = True    #python版本低报出警告#初始化 vim app/__init__.py from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_object('config') db = SQLAlchemy(app) from app import models#定义表模型(举例用) vim app/models.py from app import db class User(db.Model):         id = db.Column(db.Integer,primary_key = True)         nickname = db.Column(db.String(64),index=True,unique = True)         email = db.Column(db.String(120),index=True,unique = True)         def __repr__(self):                 return '' % (self.nickname)

shell模式下使用介绍

#创建数据模型/删除数据模型 >>> from app import db >>> from app.models import User    #导入User模型 >>> db.create_all()            #创建数据库模型 >>> db.drop_all() >>> db.create_all()#添加数据 #单条数据的提交方式 >>> name_admin = User(nickname='admin',email='admin@flask.com') #赋值数据    >>> db.session.add(name_admin)    #添加数据 >>> db.session.commit()    #提交数据 #多条数据的提交方式 >>> name_user1 = User(nickname='user1',email='user1@flask.com') >>> name_user2 = User(nickname='user2',email='user2@flask.com') >>> db.session.add_all([name_user1,name_user2])    #提交的是一个列表 >>> db.session.commit() mysql> select * from user; +----+----------+-----------------+ | id | nickname | email           | +----+----------+-----------------+ |  1 | admin    | admin@flask.com | |  2 | user1    | user1@flask.com | |  3 | user2    | user2@flask.com | +----+----------+-----------------+

查询数据

#查询所有数据 all=User.query.all() #过滤查询(filter_by()),查询nickname=user1的行 >>> user1 = User.query.filter_by(id=2).first()  >>> user2 = User.query.filter_by(id=3).first() >>> user1 >>> user2 #查询该行数据的各个字段,查看nickname字段的值 >>> user1.nickname u'user1' >>> user2.nickname u'user2' #结果显示限制(limit()),显示两条查询结果 >>> result = User.query.limit(2).all() >>> result []

修改数据

#修改数据,修改对应字段的值后直接提交即可 #修改use1的nickname字段的值为user001 user1.nickname = 'user001' db.session.add(user1) db.session.commit()删除数据 db.session.delete(user1) db.session.commit()

#常见查询过滤器 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit() 使用指定的值限制原查询返回的结果数量,返回一个新查询 offset() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序,返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询#常见查询执行函数 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果没有结果,则返回 None first_or_404() 返回查询的第一个结果,如果没有结果,则终止请求,返回 404 错误响应 get() 返回指定主键对应的行,如果没有对应的行,则返回 None get_or_404() 返回指定主键对应的行,如果没找到指定的主键,则终止请求,返回 404 错误响应 count() 返回查询结果的数量 paginate() 返回一个 Paginate 对象,它包含指定范围内的结果

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:flask学习之数据库操作一-创新互联
转载注明:http://cdweb.net/article/cccidp.html