Python y MySQL Primeros pasos

El primer paso es instalar controlador de MYSQL mediante PIP:

pip install mysql-connector

Una vez que tengamos instalado mysql connector ya podemos realizar operaciones en MySQL.

Crear manualmente una base de datos

 1 $ mysql -u root -p 
 2 
 3    SHOW DATABASES;
 4 
 5    CREATE USER 'foobar'@'localhost' IDENTIFIED BY 'no secret';
 6    GRANT ALL PRIVILEGES ON fb_db . * TO 'foobar'@'localhost';
 7    GRANT ALL PRIVILEGES ON * . * TO 'foobar'@'%' IDENTIFIED BY 'no secret';
 8    FLUSH PRIVILEGES;
 9 
10    exit

Crear una tabla manualmente:

 1 $ mysql -u foobar -p 
 2 
 3   USE fb_db;
 4   CREATE TABLE person (
 5     id INTEGER PRIMARY KEY AUTO_INCREMENT,
 6     name VARCHAR(255),
 7     birthdate DATE,
 8     score REAL
 9   );
10 
11   INSERT INTO person (name, birthdate, score)
12       VALUES ("Foo Bar", "1998-05-23", 42.1)

Crear un conector a MySQL

 1 import mysql.connector
 2 
 3 def main():
 4     conn = mysql.connector.connect(
 5         host = 'localhost',
 6         database = 'fb_db',
 7         user = 'foobar',
 8         password='no secret')
 9 
10     print("Connected:", conn)
11 
12     conn.close()
13 
14 if __name__ == "__main__":
15     main()

Consultar tabla

 1 import mysql.connector
 2 
 3 
 4 def main():
 5     conn = mysql.connector.connect(
 6         host = 'localhost',
 7         database = 'fb_db',
 8         user = 'foobar',
 9         password='no secret')
10 
11     cursor = conn.cursor()
12     cursor.execute("SELECT * FROM person")
13 
14     while True:
15         row = cursor.fetchone()
16         if not row:
17             break
18         print(row)
19 
20     cursor.close()
21     conn.close()
22 
23 if __name__ == "__main__":
24     main()

Consultar tabla con parámetros:

 1 import mysql.connector
 2 
 3 
 4 def main(min_score):
 5     conn = mysql.connector.connect(
 6         host = 'localhost',
 7         database = 'fb_db',
 8         user = 'foobar',
 9         password='no secret')
10 
11     cursor = conn.cursor()
12     cursor.execute("SELECT * FROM person WHERE score > %s", (min_score,))
13 
14     size = 2
15 
16     while True:
17         rows = cursor.fetchmany(size)
18         if not rows:
19             break
20         print(len(rows))
21         for row in rows:
22             print(row)
23 
24     cursor.close()
25     conn.close()
26 
27 if __name__ == "__main__":
28     main(40)

Insertar datos

 1 import mysql.connector
 2 
 3 
 4 def main(name, birthdate, score):
 5     conn = mysql.connector.connect(
 6         host = 'localhost',
 7         database = 'fb_db',
 8         user = 'foobar',
 9         password='no secret')
10 
11     cursor = conn.cursor()
12     cursor.execute(
13         "INSERT INTO person (name, birthdate, score) VALUES (%s, %s, %s)",
14         (name, birthdate, score))
15 
16     if cursor.lastrowid:
17         print('last insert id', cursor.lastrowid)
18     else:
19         print('last insert id not found')
20     conn.commit()
21 
22     conn.close()
23 
24 if __name__ == "__main__":
25     main('Monty Python', '1969-10-05', 100)

Actualizar tabla

 1 import mysql.connector
 2 
 3 
 4 def main(uid, score):
 5     conn = mysql.connector.connect(
 6         host = 'localhost',
 7         database = 'fb_db',
 8         user = 'foobar',
 9         password='no secret')
10 
11     cursor = conn.cursor()
12     cursor.execute("UPDATE person SET score=%s WHERE id=%s",
13         (score, uid))
14     conn.commit()
15 
16     conn.close()
17 
18 if __name__ == "__main__":
19     main(12, 32)

Eliminar datos de la tabla

 1 import mysql.connector
 2 
 3 
 4 def main(uid):
 5     conn = mysql.connector.connect(
 6         host = 'localhost',
 7         database = 'fb_db',
 8         user = 'foobar',
 9         password='no secret')
10 
11     cursor = conn.cursor()
12     cursor.execute("DELETE FROM person WHERE id=%s", (uid,))
13     conn.commit()
14 
15     conn.close()
16 
17 if __name__ == "__main__":
18     main(11)

Conclusión.

Como puedes observar es sumamente sencillo realizar operaciones en MYSQL mediante Python. Recapitulando. Primero debes instalar la librería de conexión mediante pip install mysql-connector. Después debes conectarte a mysql usando las credenciales de tu instancia. Por último realizar operaciones como SELECT, UPDATE, DELETE para observar los cambios en tus registros.

Artículos Relacionados

Comentarios