teslariu

base1

Nov 25th, 2022
1,392
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.30 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Existen varios motores de bases de datos: MySQL, PostgreSQL, Oracle
  5. # SQLite, SQLserver, etc. Solamente SQLite es soportado por la biblio std
  6. # de Python, para el resto hay que importar (pip install) algún módulo
  7. # todos los módulos usan la DB-API, interfaz std de prog de base de datos
  8.  
  9. # MySQL (o MariaDB): mysql-connector, PyMySQL, MySQLdb
  10. # PostgreSQL: psycopg, pg8000
  11. # SQLite: sqlite3 (incluido en la bibio std)
  12. # SQL Server: pymssql, pyodbc
  13. # Oracle: cx_Oracle
  14.  
  15. import sqlite3
  16.  
  17. # el sig comando abre una base de datos existente. Si la base no existe,
  18. # el comando la crea
  19. conn = sqlite3.connect("base.sqlite")
  20.  
  21.  
  22. # Cada operación SQL (crear y/o borrar tablas, agregar datos, etc) se
  23. # denomina CONSULTA sql. Para hacer una consulta necesito crear un cursor
  24. cursor = conn.cursor()
  25.  
  26. # La primer consulta a realizar es crear una tabla
  27. cursor.execute("CREATE TABLE IF NOT EXISTS personas(nombre TEXT, edad NUMERIC)")
  28.  
  29. # Cuando se ejecuta una consulta que modifica la base, hay que "guardar
  30. # los datos": hacer un commit
  31. conn.commit()
  32.  
  33. # Sig paso: agregar datos a mi tabla: voy a crear tuplas
  34. datos = (
  35.     ("Pablo",23),
  36.     ('Juan',48),
  37.     ('Ana',32)
  38. )
  39.  
  40. # agrego los datos a la tabla
  41. for nombre,edad in datos:
  42.     cursor.execute("INSERT INTO personas VALUES(?,?)",(nombre,edad))
  43. conn.commit()
  44.  
  45. # Supongamos que queremos imprimir los valores de la tabla personas
  46. cursor.execute("SELECT * FROM personas")
  47.  
  48. # la pido al cursor que "vuelque los datos"
  49. # volcar 1 solo dato: fetchone()
  50. # volcar todos los datos: fetchall()
  51. valores = cursor.fetchall()
  52. print(valores)
  53.  
  54. # cierro la base de datos
  55. conn.close()
  56.  
  57. """
  58. ####
  59. # Ejemplo similar en MySQL
  60. # pip install pymysql
  61.  
  62. import pymysql
  63.  
  64. conn = pymysql.connect(
  65.    host = "localhost",
  66.    user = "nombre-usuario",
  67.    passwd = "Contraseña",
  68.    db = "nombre de la base"
  69. )
  70.  
  71. cursor = conn.cursor()
  72.  
  73. cursor.execute("CREATE TABLE personas(nombre VARCHAR(255), edad INTEGER)")
  74.  
  75. conn.commit()
  76.  
  77. datos = (
  78.    ("Pablo",23),
  79.    ('Juan',48),
  80.    ('Ana',32)
  81. )
  82.  
  83. for nombre,edad in datos:
  84.    cursor.execute("INSERT INTO personas VALUES(%s,%s)",(nombre,edad))
  85. conn.commit()
  86.  
  87. cursor.execute("SELECT * FROM personas")
  88.  
  89. valores = cursor.fetchall()
  90. print(valores)
  91.  
  92. conn.close()
  93.  
  94. """
Advertisement
Add Comment
Please, Sign In to add comment