· 3 years ago · Apr 20, 2022, 01:10 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 pymysql
17
18# me conecto a una base, si no existe la crea
19conn = 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
27cursor = conn.cursor()
28
29# creo una tabla
30query = "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
37cursor.execute(query)
38
39# cada vez que modifico una base debo guardar los cambios (hacer un COMMIT)
40conn.commit()
41
42# agreguemos datos a la tabla
43datos =(
44 ('Ana',45),
45 ('Juan',18),
46 ('Luisa',47),
47 ('Andres',22)
48)
49for nombre, edad in datos:
50 cursor.execute("INSERT INTO personas VALUES(null,%s,%s)",(nombre,edad))
51conn.commit()
52
53
54# leemos la tabla e imprimimos los datos
55cursor.execute("SELECT * FROM personas")
56lista = cursor.fetchall() # vuelca todos los datos en una lista
57# un_dato = cursor.fetchone()
58print(lista)
59
60# cerrar la base de datos
61conn.close()
62
63
64
65
66
67
68
69