flask + pymysql操作Mysql数据库

安装flask-sqlalchemy、pymysql模块

pip install flask-sqlalchemy pymysql

安装Mysql数据库

from flask.ext.sqlalchemy import SQLAlchemy
from flask import Flask

‘‘‘配置数据库‘‘‘
app = Flask(__name__)
app.config[‘SECRET_KEY‘] =‘hard to guess‘
# 这里登陆的是root用户,要填上自己的密码,MySQL的默认端口是3306,填上之前创建的数据库名jianshu,连接方式参考 # http://docs.sqlalchemy.org/en/latest/dialects/mysql.html
app.config[‘SQLALCHEMY_DATABASE_URI‘]=‘mysql+pymysql://jianshu:[email protected]:3306/jianshu‘
#设置这一项是每次请求结束后都会自动提交数据库中的变动
app.config[‘SQLALCHEMY_COMMIT_ON_TEARDOWN‘]=True
#实例化
db = SQLAlchemy(app)

模型定义

‘‘‘定义模型,建立关系‘‘‘
class Role(db.Model):
    # 定义表名
    __tablename__ = ‘roles‘
    # 定义列对象
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    user = db.relationship(‘User‘, backref=‘role‘)

    #repr()方法显示一个可读字符串,虽然不是完全必要,不过用于调试和测试还是很不错的。
    def __repr__(self):
        return ‘<Role {}> ‘.format(self.name)

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‘))

    def __repr__(self):
        return ‘<User {}>‘.format(self.username)

  

关系

关系数据库通过使用关系在不同的表中建立连接。关系图表达了用户和用户角色之间的简单关系。这个角色和用户是一对多关系,因为一个角色可以从属于多个用户,而一个用户只能拥有一个角色。
下面的模型类展示了中表达的一对多关系。

class Role(db.Model):
  # ...
  users = db.relationship(‘User‘, backref=‘role‘)

class User(db.Model):
  # ...
  role_id = db.Column(db.Integer, db.ForeignKey(‘roles.id‘))

#!/usr/bin/env python

from exts import db
from datetime import datetime

class User(db.Model):
    __tablename__ = ‘user‘
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    username = db.Column(db.String(50),nullable=False)
    telephone = db.Column(db.String(11),nullable=False)
    password = db.Column(db.String(100), nullable=False)

class Questions(db.Model):
    __tablename__ = ‘questions‘
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    title = db.Column(db.String(100),nullable=False)
    content = db.Column(db.Text,nullable=False)
    create_time = db.Column(db.DateTime,default=datetime.now)
    author_id = db.Column(db.Integer,db.ForeignKey(‘user.id‘))

    author = db.relationship(‘User‘,backref=db.backref(‘questions‘))

class Answer(db.Model):
    __tablename__ = ‘answer‘
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    content = db.Column(db.Text,nullable=False)
    question_id = db.Column(db.Integer,db.ForeignKey(‘questions.id‘))
    author_id = db.Column(db.Integer,db.ForeignKey(‘user.id‘))

    question = db.relationship(‘Questions‘,backref = db.backref(‘answers‘))
    author = db.relationship(‘User‘,backref = db.backref(‘answers‘))

  

时间: 2024-08-01 22:53:07

flask + pymysql操作Mysql数据库的相关文章

PyMySQL操作mysql数据库(py3必学)

一,安装PyMySQL Python是编程语言,MySQL是数据库,它们是两种不同的技术:要想使Python操作MySQL数据库需要使用驱动.这里选用PyMySQL驱动. 安装方式还是使用pip命令. > pip install  PyMySQL 二,创建MySQL表 执行下面的SQL语句,创建一张users 表. CREATE TABLE `users` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `email` VARCHAR(255) COLLATE u

用pymysql操作MySQL数据库

工具库安装 pip install pymysql 连接关闭数据库与增删改查操作 # 导入pymysql库 import pymysql # 打开数据库连接 # 参数1:数据库服务器所在的主机+端口号 # 参数2:登陆数据库的用户名 # 参数3:登陆数据库的密码 # 参数4:要连接的数据库 # 参数5:字符编码 db = pymysql.connect( 'localhost', 'root', '123456', 'school', charset = 'utf8' ) # 增删改插操作 #

使用PyMySQL操作mysql数据库

适用环境 python版本 >=2.6或3.3 mysql版本>=4.1 安装 可以使用pip安装也可以手动下载安装. 使用pip安装,在命令行执行如下命令: 1 pip install PyMySQL 手动安装,请先下载.下载地址:https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X. 其中的X.X是版本(目前可以获取的最新版本是0.6.6). 下载后解压压缩包.在命令行中进入解压后的目录,执行如下的指令: 1 python setup

python 3.6 +pyMysql 操作mysql数据库

版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11 ################################################################# #author: 陈月白 #_blogs: http://www.cnblogs.com/chenyuebai/ ################################################################# # -*- coding: utf-8

如何使用python中的pymysql操作mysql数据库

操作流程 导入模块 from pymsql import * 创建connect链接 conn = connect(host, port, user, password, database, charset) 获取游标对象 cs1 = conn.cursor() 执行语句 count = cs1.execute(SQL语句) 查看执行的语句 cs1.fetchone() # 返回元组结构的一条数据 查看多条语句 cs1.fetchmany(3) # 取出3个数据元组套元组,不写数量就只取一个 查

Python操作mysql数据库出现pymysql.err.ProgrammingError: (1064, &quot;You have an error in your SQL syntax; check

今天在用Python操作mysql数据库出现pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check报错 "SELECT Failure_code,describe from failure_occur_now order by ID DESC LIMIT 1“黄色区域为报错的位置仔细查找,发现没有语法错误啊,后面将,describe删掉不报错了,原来describe应该是Mysq

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector-python 是MySQL官方的Python驱动 https://dev.mysql.com/doc/connector-python/en/ 安装: pip install mysql-connector 示例代码: https://github.com/mike-zhang/pyExample

python3操作MySQL数据库

安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursors # ======== Setting linked test databases =========== host = '192.168.17.123' user = 'root' password = '123456' db='polls' # ======== MySql base oper

python操作mysql数据库(一)

最近又开始重新学习python,研究了一些python操作mysql数据库的知识,记录在此,用作学习笔记, 基础环境:Python 3.5.1 mysql版本:5.6.35 (rpm安装方式) 操作系统:Centos7.3 和windows7 一.python连接数据库模块介绍: 目前主要用的有以下几种.MySQLdb和pymsql以及mysql官方提供的mysql-connector-python驱动,MySQLdb模块是python2.X使用比较多的,而python3.X使用的pymsql会