Cómo usar flask-sqlalchemy para operar la base de datos mysql en python3
1 Base de datos relacional
El código es el siguiente:
apt-. get instala el servidor mysql
apt-get instala el cliente mysql
apt-get instala libmysqlclient15-dev
2.python-mysqldb
El código es el siguiente:
apt-get instala python-mysqldb
3. Instalación simple
El código es el siguiente:
wget munity.com/dist/ ez_setup.py
python ez_setup.py
4.MySQL-Python
El código es el siguiente:
Instalación sencilla de MySQL-Python
p>5.SQLAlchemy
El código es el siguiente:
easy_install SQLAlchemy
6. Después de la instalación, utilice el siguiente código para probar la conexión.
El código es el siguiente:
Importar motor de creación desde sqlalchemy
Importar etiquetas de sesión desde sqlalchemy.orm
DB_CONNECT_ STRING = ' MySQL mysqldb://root:123@localhost/ooxx? ' charset=utf8 '
motor=create-engine(cadena de conexión de base de datos, echo=true)
DB_Session = Creador de sesión(bind=motor)
Sesión = sesión de base de datos ()
7. Operaciones de datos (agregar, eliminar y modificar)
El código es el siguiente:
de la función de importación sqlalchemy, o_, not_
Usuario=usuario(nombre='a')
session.add(usuario)
Usuario=usuario(nombre='b') p >
session.add(usuario)
usuario=usuario(nombre='a')
session.add(usuario)
usuario= usuario ()
sesión.add(usuario)
session.commit()
consulta = sesión.query(usuario)
Imprimir consulta #Mostrar sentencia SQL.
Imprimir consulta. Declaración #Igual que arriba
Para usuarios en la consulta: #Consulta durante el recorrido
Imprimir nombre de usuario
Imprimir query .all() #Devuelve un objeto similar a una lista.
Al imprimir query.first(). nombre # registro no existe, primero () devolverá Ninguno.
# imprimir consulta.uno(). El nombre # no existe; de lo contrario, se generará una excepción cuando haya varias filas de registros.
Imprimir consulta.filtro(Usuario.id == 2). primero(). nombre
Imprimir consulta.get(2). El nombre # se obtiene a través de la clave principal, que es equivalente a la oración anterior.
ImprimirConsulta. filtro('ID = 2'). primero(). Nombre #Soporta cadenas.
query2 = session.query(nombre de usuario)
Imprimir query2.all() #Cada línea es una tupla.
ImprimirQuery2.limit (1). Todos () #Return como máximo 1 registro.
PrintQuery2.offset(1). Todos () #Regreso del segundo registro.
Imprimir consulta2.order_by(Usuario.nombre). Todo()
Imprimir consulta2.order_by('nombre'). Todo()
Imprimir consulta2.order_by(Usuario.nombre.desc()). Todo()
Imprimir consulta2.order_by('nombre desc '). Todo()
Imprimir sesión.query(id de usuario). order_by(Usuario.nombre.desc(), Usuario.id). Todo()
imprimir consulta 2. filtro(usuario. id == 1). Scalar () #Si hay un registro, devuelve el primer elemento del primer registro.
Imprimir sesión.query('id '). select_from(usuario). filtro('identificación = 1'). escalar()
Imprimir consulta 2. filtro (usuario. id gt; 1, nombre de usuario! = 'a'). Scalar()#sum
consulta 3 = consulta 2. filtro(usuario. id gt; 1) #Múltiples filtros empalmados también son suma.
query3 = query3.filter(User.name!= 'a ')
Imprimir consulta3.scalar()
Imprimir consulta 2. filtro(o _ (usuario.id==1,Usuario.id==2)). all() #o
Imprimir consulta 2. filtro(usuario. id. en _((1, 2))). all() # in
query4 = session.query(User.id)
Imprimir consulta4.filter(User.name == Ninguno). Scalar()
Imprimir consulta4.filter('el nombre es nulo '). escalar()
Imprimir consulta 4. filtro (no _(usuario. nombre == Ninguno)). all() # not
Imprimir consulta4.filtro(¡Nombre.de.usuario!=Ninguno). Todo()
Imprimir consulta4.count()
Imprimir sesión.query(func.count('*)). select_from(usuario). Scalar()
Imprimir sesión . select_from(usuario). Scalar()
Imprimir sesión . escalar()
Imprimir sesión.query(func.count('*)). Filter(User.id gt0).scalar() # filter() contiene usuarios, por lo que no es necesario especificar ninguna tabla.
Imprimir sesión. Consulta (func. Count (' * '). Filtro (User. nombre = ' a '). Límite (1). Escalar () == 1 #Puedes usar limit() para limitar el número de devoluciones de count()
Imprimir sesión.query(func.sum(User.id)).
Imprimir sesión. (func.now()) # func puede seguir cualquier nombre de función. siempre que la base de datos lo admita
Imprimir sesión (func. current _ timestamp()).
Imprimir sesión (func. MD5(usuario. nombre). )).filtro(Usuario.id == 1). escalar()
query.filter(Usuario.id == 1). >
usuario = query.get(1)
Imprimir nombre de usuario
user.name = 'd '
Session.flush() #Escribir a la base de datos, pero no lo envíe
Imprimir query.get(1) nombre
session.delete(user)
session.flush().
Imprimir query.get(1)
session.rollback()
Imprimir query.get(1) nombre
consulta. filtrar(Usuario.id == 1). eliminar()
sesión.commit()
imprimir consulta.get(1)