获取MySQL数据

连接MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pymysql
import traceback
def get_conn():
conn = pymysql.connect(host="localhost", # 本地ip或你的域名地址
user="root", # MySQL登录用户名
password="123456", # MySQL登录密码
db="etc", # 储存数据的数据库名
charset="utf8")
# conn表示连接数据库,对数据的操作需要通过cursor来实现
cursor = conn.cursor()
return conn, cursor

def close_conn(conn, cursor):
if cursor:
cursor.close()
if conn:
conn.close()

建立获取数据的函数

  1. 获取连接游标
  2. 编写try/except异常处理
  3. 编写SQL语句
  4. cursor.fetchall()获取返回数据并进行数据处理
  5. 通过函数返回值传递给外部的app.py文件

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def cksj():
cursor = None
conn = None
try:
conn, cursor = get_conn()
sql = '''
select count(XH),CKSJ
from main
group by CKSJ
order by CKSJ
'''
cursor.execute(sql)
data=cursor.fetchall()
print(data)
List=[]
for i in data:
item = {'name': i[1].strftime('%Y-%m-%d %H:%M:%S'),
'value': [i[1].strftime('%Y-%m-%d %H:%M:%S'), i[0]]}
List.append(item)
print(List)

conn.commit()
except:
traceback.print_exc()
finally:
close_conn(conn, cursor)

return List

  • 重点在于SQL查询语句的编写
  • 返回数据的获取利用cursor.fetchall(),返回值为元组类型(可通过list(tuple)转换为列表)

数据传入flask

  1. 导入本地python文件

     import fileName
    
  2. 调用本地外部文件的函数

     data=fileName.func()
    

实例
已有Mysql2Flask.py,其中有cksj()

1
2
3
4
5
6
7
from flask import Flask
from flask import render_template
import Mysql2Flask
@app.route('/')
def main():
List = Mysql2Flask.cksj()
return render_template('main2.html')