Advertisement
teslariu

mysql

Apr 19th, 2022
1,418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Biblioteca std: --> sqlite3
  5. # API: es un conjunto de herramientas stds para hacer programas especìficos
  6. # respecto a un tema
  7. # en base de datos, Python tiene una API std: DB-API
  8. # Bibilotecas importantes
  9. # las sigs son todas de terceros (instalar con pip install)
  10. """
  11. MySQL o MariaDB: mysql-connector-python, MySQLdb - PyMySQL (la + usada)
  12. PostgreSQL: psycopg, pg8000
  13. SQL server: pymssql pyodbc
  14. Oracle: cx_Oracle
  15. """
  16. import pymysql
  17.  
  18. # me conecto a una base, si no existe la crea
  19. conn = sqlite3.connect(
  20.         host="localhost",
  21.         user="user",
  22.         passwd="Mi password",
  23.         db="database.sqlite"
  24.         )
  25.  
  26. # para hacer una consulta SQL necesito un cursor
  27. cursor = conn.cursor()
  28.  
  29. # creo una tabla
  30. query = "CREATE TABLE IF NOT EXISTS personas(\
  31.         id INT PRIMARY KEY AUTOINCREMENT,\
  32.         nombre VARCHAR(50) UNIQUE NOT NULL,\
  33.         edad INT\
  34.         )"
  35.  
  36.  
  37. cursor.execute(query)
  38.  
  39. # cada vez que modifico una base debo guardar los cambios (hacer un COMMIT)
  40. conn.commit()
  41.  
  42. # agreguemos datos a la tabla
  43. datos =(
  44.     ('Ana',45),
  45.     ('Juan',18),
  46.     ('Luisa',47),
  47.     ('Andres',22)
  48. )
  49. for nombre, edad in datos:
  50.     cursor.execute("INSERT INTO personas VALUES(null,%s,%s)",(nombre,edad))
  51. conn.commit()
  52.  
  53.  
  54. # leemos la tabla e imprimimos los datos
  55. cursor.execute("SELECT * FROM personas")
  56. lista = cursor.fetchall()  # vuelca todos los datos en una lista
  57. # un_dato = cursor.fetchone()
  58. print(lista)
  59.  
  60. # cerrar la base de datos
  61. conn.close()
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement