Bases de datos
Contents
Bases de datos#

Trabajando con bases de datos en Python
Índice
Conexión SQLITE 3#
1# importar modulo sqlite 3:
2import sqlite3
3
4# Seleccionar archivo de conexión:
5conexion = sqlite3.connect("prueba.db")
6
7# Realizar conexión con un cursor:
8cursor = conexion.cursor()
9
10# Guardar operacion:
11conexion.commit()
12
13# Cerar conexion:
14conexion.close()
Conexión MySQL#
Pasos iniciales:
Paso 1: Instalar la librería MySQL:
sudo apt-get install python-mysqldb
1# importar modulo mysql:
2import MySQLdb
3
4# preparar conexión:
5host = 'localhost'
6username = 'guillermo'
7password = 'guillermo'
8database = 'pruebas'
9
10try:
11 # Realizar conexión:
12 conexion = MySQLdb.connect(user=username, passwd=password, host=host, db=database)
13
14 # establecer cursor:
15 cursor = conexion.cursor()
16
17 print("Conexión realizada con éxito")
18except:
19 print("Error de conexión")
20
21conexion.close()
Operaciones CRUD#
Despues de realizar la conexión a la base de datos se pueden ejecutar las sentencias SQL del siguiente modo
Crear base de datos#
1# Crear una base de datos:
2cursor.execute("CREATE DATABASE python_db")
3
4conexion.commit()
5
6conexion.close()
Crear una tabla#
1# Crear una tabla:
2cursor.execute('CREATE TABLE usuario(nombre VARCHAR(100), edad INTEGER, email VARCHAR(100))')
3
4conexion.commit()
5
6conexion.close()
Insertar registros#
1# creamos una lista con varias tuplas:
2usuarios = [
3 ('Luis', 20, 'luis@luiser.com'),
4 ('Mira', 27, 'mira@ynomira.com'),
5 ('Juan', 90, 'ju@n.com')
6]
7# ahora podemos ejecutar la consulta que introduce varios registros a la vez:
8cursor.executemany("INSERT INTO usuario VALUES (?,?,?)", usuarios)
9conexion.commit()
10
11conexion.close()
Leer registros#
1# Realizar consulta:
2cursor.execute('SELECT * FROM usuario')
3usuarios = cursor.fetchall() # recuperamos con este metodo una lista de registros.
4
5print(usuarios)
6
7# recorremos todos los registros:
8for usuario in usuarios:
9 print("Nombre: {} \nEdad: {} \nEmail: {}\n\n".format(usuario[0], usuario[1], usuario[2]))
10
11conexion.close()
Borrar registros#
1# Realizar consulta:
2cursor.execute('DELETE FROM usuario WHERE nombre="Luis"')
3
4conexion.commit()
5
6conexion.close()
Actualizar registros#
# Realizar consulta:
cursor.execute('UPDATE usuario SET nombre="Alberto" WHERE nombre="Juan"')
conexion.commit()
conexion.close()