flask框架在python中通过sqlalchemy+pymysql连接mysql
2018-03-13 17:22
741 查看
初入flask,看了网上的一些东西,留下笔记,供以后参考学习,
一.flask项目大体结构如下
-|--app--|--static
|--template 页面及部分逻辑
|--utils 逻辑
|--__init__.py 初始化
|--models.py sqlalchemy用的models对象也是映射的表
|--views.py 主要是路由 url_for反向定义
-|--config.py 设置
-|--create_db.py 创建mysql数据库对应表
-|--run.py
二.首先配置sqlalchemy连接mysql数据库
在config.py中添加
#mysql连接语句
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://mysql用户名:mysql用户密码@localhost:3306/mysql数据库名?charset=utf8'
#
SQLALCHEMY_TRACK_MODIFICATIONS = True
在__init__.py中添加
from flask import Flask
from flask_sqlalchemy import SQLAlchemy 导入sqlalchemy
app = Flask(__name__) flask类的实例
app.config.from_object('config') 读取config.py里的配置
db = SQLAlchemy(app) sqlalchemy的实例
from app import views,models 导入views和models
在models.py中添加
class User(db.Model):
__tablename__ = 'users' 表名
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
def __init__(self,username): 相当于构造函数
self.username=username
def __repr__(self): 返回
return '<User %r>' % self.username
然后在create_db.py中添加
from app import db
db.create_all() 创建所有models的表
在终端中运行python create_db.py
就可以看到创建好的users数据表
三。插入数据
在utils文件夹下创建user.py添加以下代码
from app import db 导入alchemy对象
from .models import User 导入user类
newobj = User('name', 'email', 'pwd')
try:
db.session.add(newobj)
except:
db.session.rollback()
else:
db.session.commit()
即可添加成功,还可以使用db.session.merge()去更新,如果重复就覆盖,不重复就添加
批量添加则用db.session.add_all(models)
如:newobj = [User('name', 'email', 'pwd'),User('name1', 'email1', 'pwd1')]
db.session.add(newobj)
如果添加的值为unicode编码或特殊字符,可以用json.dumps()将其转换为json对象存储在Mysql数据库,读出后再用json.loads()又转换为字符串
一.flask项目大体结构如下
-|--app--|--static
|--template 页面及部分逻辑
|--utils 逻辑
|--__init__.py 初始化
|--models.py sqlalchemy用的models对象也是映射的表
|--views.py 主要是路由 url_for反向定义
-|--config.py 设置
-|--create_db.py 创建mysql数据库对应表
-|--run.py
二.首先配置sqlalchemy连接mysql数据库
在config.py中添加
#mysql连接语句
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://mysql用户名:mysql用户密码@localhost:3306/mysql数据库名?charset=utf8'
#
SQLALCHEMY_TRACK_MODIFICATIONS = True
在__init__.py中添加
from flask import Flask
from flask_sqlalchemy import SQLAlchemy 导入sqlalchemy
app = Flask(__name__) flask类的实例
app.config.from_object('config') 读取config.py里的配置
db = SQLAlchemy(app) sqlalchemy的实例
from app import views,models 导入views和models
在models.py中添加
class User(db.Model):
__tablename__ = 'users' 表名
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
def __init__(self,username): 相当于构造函数
self.username=username
def __repr__(self): 返回
return '<User %r>' % self.username
然后在create_db.py中添加
from app import db
db.create_all() 创建所有models的表
在终端中运行python create_db.py
就可以看到创建好的users数据表
三。插入数据
在utils文件夹下创建user.py添加以下代码
from app import db 导入alchemy对象
from .models import User 导入user类
newobj = User('name', 'email', 'pwd')
try:
db.session.add(newobj)
except:
db.session.rollback()
else:
db.session.commit()
即可添加成功,还可以使用db.session.merge()去更新,如果重复就覆盖,不重复就添加
批量添加则用db.session.add_all(models)
如:newobj = [User('name', 'email', 'pwd'),User('name1', 'email1', 'pwd1')]
db.session.add(newobj)
如果添加的值为unicode编码或特殊字符,可以用json.dumps()将其转换为json对象存储在Mysql数据库,读出后再用json.loads()又转换为字符串
相关文章推荐
- flask框架:Python 3.5下使用 flask_SqlAlchemy和mysql
- python - web框架 - Flask sqlalchemy Mysql
- Python Flask框架连接Mysql 学习笔记
- python使用 flask_sqlalchemy连接mysql时出现ImportError: No module named MySQLdb错误
- python 使用sqlalchemy,mysqldb模块通过ssh隧道连接mysql
- python3使用Django框架连接mysql(python3+Django+MySQL+pymysql)
- pymysql+Flask-SQLAlchemy连接mysql
- python通过sqlalchemy操作mysql和sqlserver
- 14.python与数据库之mysql:pymysql、sqlalchemy
- Linux 下安装Python框架django建立与mysql的连接
- Python3中使用PyMySQL连接Mysql
- ubuntu mysql安装和python sqlalchemy框架安装
- Python3连接MySQL(pymysql)模拟转账实现代码
- python通过跳板机连接MySQL
- Flask-SQLAlchemy配置连接MySQL及表的生成
- python 使用mysqldb模块通过SSHTunnelForwarder隧道连接mysql
- python通过配置文件连接mysql
- 用Python的Flask框架结合MySQL写一个内存监控程序
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
- 简单的连接MySQL与Python的Bottle框架的方法