· 3 years ago · Apr 20, 2022, 01:00 AM
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"""
11MySQL o MariaDB: mysql-connector-python, MySQLdb - PyMySQL (la + usada)
12PostgreSQL: psycopg, pg8000
13SQL server: pymssql pyodbc
14Oracle: cx_Oracle
15"""
16import sqlite3
17
18# me conecto a una base, si no existe la crea
19conn = sqlite3.connect("database.sqlite")
20
21# para hacer una consulta SQL necesito un cursor
22cursor = conn.cursor()
23
24# creo una tabla
25query = "CREATE TABLE personas(\
26 id INTEGER PRIMARY KEY AUTOINCREMENT,\
27 nombre TEXT UNIQUE NOT NULLd,\
28 edad NUMERIC\
29 )"
30
31
32cursor.execute(query)
33
34# cada vez que modifico una base debo guardar los cambios (hacer un COMMIT)
35conn.commit()
36
37# agreguemos datos a la tabla
38datos =(
39 ('Ana',45),
40 ('Juan',18),
41 ('Luisa',47),
42 ('Andres',22)
43)
44for nombre, edad in datos:
45 cursor.execute("INSERT INTO personas VALUES(null,?,?)",(nombre,edad))
46conn.commit()
47
48
49# leemos la tabla e imprimimos los datos
50cursor.execute("SELECT * FROM personas")
51lista = cursor.fetchall() # vuelca todos los datos en una lista
52# un_dato = cursor.fetchone()
53print(lista)
54
55# cerrar la base de datos
56conn.close()