teslariu

db

Feb 17th, 2021 (edited)
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.00 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. SQLite --> sqlite3: import sqlite3
  6. MySQL  --> mysql-connector-python, PyMySQL, MySQLdb
  7. PostgreSQL: --> psycopg, pg8000
  8. SQLServer: pymssql, pyodbc
  9. ORACLE: cx_Oracle
  10. """
  11.  
  12. import sqlite3
  13.  
  14. # Abre una base de datos, si no existe la crea
  15. conn = sqlite3.connect("database.sqlite")
  16.  
  17. # Crea una variable para ejecutar consultas SQL
  18. cursor = conn.cursor()
  19.  
  20. # Crea una tabla "personas" en la base "database.sqlite"
  21. cursor.execute("CREATE TABLE personas (nombre TEXT, edad NUMERIC)")
  22.  
  23. # guardar los cambios de la query
  24. conn.commit()
  25.  
  26. # armo los datos para añadir a la tabla personas
  27. personas = (
  28.     ('Pablo',30),
  29.     ('Ana',24),
  30.     ('Luis',17),
  31.     ('Mirta',44)
  32. )
  33.  
  34. # agrego los datos a la tabla personas
  35. for name, age in personas:
  36.     cursor.execute("INSERT INTO personas VALUES (?,?)",(name, age))
  37.     conn.commit()
  38.  
  39. # consulta que retorna todos los datos
  40. cursor.execute("SELECT * FROM personas")
  41.  
  42. # guardo en una variable python todos los datos extraidos de la db
  43. datos = cursor.fetchall()  
  44.  
  45. # dato = cursor.fetchone() guarda el primer dato
  46.  
  47. # imprimo los datos de la consulta
  48. for dato in datos:
  49.     print(dato)
  50.  
  51. # cierro la base de datos
  52. conn.close()
  53.  
  54. """
  55. try:
  56.    cursor.execute(....)
  57. except sqlite3.OperationalError:
  58.    print("La consulta no se ejecutó correctamente")
  59.  
  60. EL MODULO PyMySQL
  61. instalarlo: python -m pip install pymysql
  62.  
  63. import pymysql
  64.  
  65. conn = pymysql.connect(
  66.            host="localhost",
  67.            user="usuario",
  68.            passwd="contraseña",
  69.            db="Nombre_base")
  70.            
  71. # agrego datos a la tabla personas
  72. for name, age in personas:
  73.    cursor.execute("INSERT INTO personas VALUES (%s,%s)",(name, age))
  74.    conn.commit()
  75.            
  76. Excepciones: pymysql.ProgrammingError --> error de sintaxis
  77.                                        o tabla que no existe
  78.             pymysql.err.InternalError --> no existe un atributo (por ejemplo, pais)
  79.            
  80.            
  81.  
  82.  
  83.  
  84.  
  85.  
Add Comment
Please, Sign In to add comment