Tracy of AI
8/10/2018 - 2:03 PM

Flask-MySQLdb

Flask-MySQLdb depends, and will install for you, recent versions of Flask (0.10.1 or later) and mysqlclient. Flask-MySQLdb is compatible with and tested on Python 2.7, 3.4 and 3.5.

https://www.youtube.com/watch?v=nWO_VpI5wn8

#API Classes
class flask_mysqldb.MySQL(app=None)
connection
Attempts to connect to the MySQL server.

Returns:	Bound MySQL connection object if successful or None if unsuccessful.
init_app(app)
Initialize the app for use with this MySQL class. This is called automatically if app is passed to __init__().

Parameters:	app (flask.Flask) – the application to configure for use with this MySQL class.
MYSQL_HOST	name of host to connect to. Default: use the local host via a UNIX socket (where applicable)
MYSQL_USER	user to authenticate as. Default: current effective user.
MYSQL_PASSWORD	password to authenticate with. Default: no password.
MYSQL_DB	database to use. Default: no default database.
MYSQL_PORT	TCP port of MySQL server. Default: 3306.
MYSQL_UNIX_SOCKET	location of UNIX socket. Default: use default location or TCP for remote hosts.
MYSQL_CONNECT_TIMEOUT	Abort if connect is not completed within given number of seconds. Default: 10
MYSQL_READ_DEFAULT_FILE	MySQL configuration file to read; see the MySQL documentation for mysql_options().
MYSQL_USE_UNICODE	If True, CHAR and VARCHAR and TEXT columns are returned as Unicode strings, using the configured character set.
MYSQL_CHARSET	If present, the connection character set will be changed to this character set, if they are not equal. Default: ‘utf-8’
MYSQL_SQL_MODE	If present, the session SQL mode will be set to the given string.
MYSQL_CURSORCLASS	If present, the cursor class will be set to the given string.
#flask code to add an instance of Flask-MySQLdb
from flask import Flask
from flask_mysqldb import MySQL

app = Flask(__name__)
mysql = MySQL(app)


@app.route('/')
def users():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT user, host FROM mysql.user''')
    rv = cur.fetchall()
    return str(rv)

if __name__ == '__main__':
    app.run(debug=True)
#installer
pip install flask-mysqldb