Python Web框架之Flask(2)——mysql数据库操作

1.通过pymysql方式测试mysql数据库连接

# -*- coding: utf-8 -*-
"""
Created on Tue Jun 27 10:39:14 2017

@author: Administrator
"""

from flask import Flask,request,redirect
import pandas as pd
import pymysql

app = Flask(__name__)

#连接mysql数据库
dbcon = pymysql.connect(
  host="localhost",
  user="root",
  password="123456",
  db = "flask",
  #port=3306,
  charset='utf8mb4'
 )

@app.route("/")
def hello():
    return "Welcome to Python Flask App!"



@app.route("/Authenticate")
def Authenticate():

    #从数据表读取数据
    sql = "select * from user"
    #利用pandas模块导入数据库
    data = pd.read_sql(sql,dbcon)
    print(data)
    if data is None:
        return "用户名或密码错误!"
    else:
        return "登录成功!"

if __name__ == "__main__":
    app.run()

运行结果如下图所示:

这里写图片描述

此时,后台数据变化如下图所示:

这里写图片描述

当然,上述操作只是实现了基本的mysql数据库查询操作。后面将展示如何在前端查询数据库内容。

2.通过flask-mysql方式查询mysql数据库

上面是通过pymysql方式连接mysql数据库,但在创建flask项目时可能会用到另外一种flask-mysql的方式来连接mysql数据库。下面是flask-mysql方式连接mysql数据库的代码:

from flask import Flask
from flaskext.mysql import MySQL

app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = '123456'
app.config['MYSQL_DATABASE_DB'] = 'blog'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)

#连接数据库
connect = mysql.connect()
cursor = connect.cursor()

#执行查询操作
cursor.execute("SELECT * from User")
data = cursor.fetchall()
print(data)

#插入语句
sql = "INSERT INTO `User` (`username`,`password`) VALUES (%s,%s)"
username = 'test'
password = '12345678'
#data = ('test', '12345678')
#执行插入操作
cursor.execute(sql, (username, password))
#再次执行查询操作
cursor.execute("SELECT * from User")
data2 = cursor.fetchall()
#提交数据库操作,将数据存入表中
connect.commit()
print(data2)

执行结果如下图所示:

这里写图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值