flask 通过SQLAlchemy 连接MYSQL样例

本文介绍如何利用Flask框架结合SQLAlchemy组件来快速搭建并操作数据库,包括环境配置、模型定义及数据增删改查等基本操作。

#coding:utf-8
#SQLAlchemy 是一个 Python 包,其最底层包装了对数据库进入操作的统一接口,然后在最上层提供了对象关系映射(ORM)的实现。

from flask_sqlalchemy import SQLAlchemy
#引入Flask类,Flask实现了一个WSGI对象
from  flask import  Flask
import os
print(123)
basedir=os.path.abspath(os.path.dirname(__file__))
print(basedir)
#__name__当前模块的名字
#Flask(__name__)的作用是通过Flask.helper.get_root_path()获取这个文件的根路径,以便找到对应静态文件和模块
#初始化,创建一个Flask可以运行的实体
app=Flask(__name__)
#数据库的url
app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:123456@127.0.0.1:3306/pytest'
#'mysql+pymysql://root:fanguiju@127.0.0.1:3306/jmilkfansblog'
# 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
print(db)

class user_info(db.Model):
    __tablename__='qky'
    id=db.Column(db.Integer,primary_key=True)
    name=db.Column(db.String(30))
    pwd=db.Column(db.String(10))

    def __init__(self, id, name, pwd):
        self.id=id
        self.name = name
        self.pwd = pwd
    def __repr__(self,name):
        return  '<qky %s>'%self.name
'''这个函数,对应repr(object)这个功能。意思是当需要显示一个对象在屏幕上时,将这个对象的属性或者是方法整理成一个可以打印输出的格式。
这个功能与eval也可以对应。打印出的结果直接放到eval里,通常可以获得原来的对象。
比如t1=datetime.datetime.now()
print repr(t1)
结果是
datetime.datetime(2014, 9, 9, 6, 34, 29, 756000)
与此相类似的功能是__str__
比如你有一个People类,当打印时你只希望它打印出人名,那么你可以在__str__函数里写上return self.name , 这样当需要People当作一个字符串时,返回的就是人名。
你使用 print str(t1)时结果是
2014-09-09 06:34:29.756000 '''
#建立表
#db.drop_all()
#db.create_all()

qky=user_info(id=4, name='qk1ysu1',pwd='121s3')
db.session.add(qky)
db.session.commit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值