Advertisement
teslariu

mys

Aug 14th, 2021
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. MySQL         mysql-connector-python, PyMySQL
  6. PostgreSQL    psycopg, pg8000
  7. SQLite        sqlite3 --> librría std
  8. SQL Server    pymssql, pyodbc
  9. Oracle        cx_Oracle
  10.  
  11. Todos usan una api estándar: DB-API
  12. """
  13. # habría que hacer previamente: python -m pip install PyMySQL
  14. import pymysql
  15.  
  16. # creamos una conexión a la base, si la base no existe la crea
  17. conn = pymysql.connect(
  18.     host = 127.0.0.1:3306,
  19.     user = <nombre_usuario>
  20.     passwd = <contraseña>
  21.     db = <nombre_base_de_datos>
  22.     )
  23.  
  24. # para hacer consultas SQL debo crear un cursor
  25. cursor = conn.cursor()
  26.  
  27. # creo una tabla (primera consulta, supongo posible error de sintaxis)
  28. try:
  29.     cursor.execute("CREATE TABLE personas(nombre TEXT, edad NUMERIC)")
  30. except pymysql.ProgrammingError:
  31.     print("La consulta no se ejecutó correctamente")
  32.  
  33. # guardo los cambios
  34. conn.commit()
  35.  
  36. # creo una tupla para cargar datos en la base
  37. personas = (
  38.         ("Pepe", 32),
  39.         ("Ana", 25),
  40.         ("Pedro", 44)
  41.         )
  42.  
  43. # itero en personas para insertar cada persona en la tabla
  44. for nombre,edad in personas:
  45.     try:  # supongo posible error con la tabla o de sintaxis
  46.         cursor.execute(f"INSERT INTO personas VALUES(%s,%s)",(nombre,edad))
  47.     except (pymysql.ProgrammingError, pymysql.err.InternalError):
  48.         print(f"Error, nombre: {nombre}, edad: {edad} no almacenado")
  49.  
  50.  
  51.  
  52.  
  53. # guardo los cambios
  54. conn.commit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement