0Pricing
Python Academy · Lección

Conexión y creación de tablas

Abra una base de datos y defina el esquema

Conexión y creación de tablas es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

¿Qué es sqlite3?

Python incluye el módulo sqlite3 en su biblioteca estándar. Este módulo permite trabajar con SQLite, una base de datos SQL ligera basada en archivos que no necesita un servidor independiente.

  • No requiere instalación
  • Toda la base de datos se almacena en un único archivo
  • Es perfecta para prototipos, pruebas y aplicaciones pequeñas
import sqlite3
print(sqlite3.version)

Conectarse a una base de datos

Use sqlite3.connect() para abrir una base de datos. Si el archivo no existe, SQLite lo crea.

Pasar ':memory:' crea una base de datos temporal en memoria que desaparece al cerrar la conexión.

import sqlite3
conn = sqlite3.connect(':memory:')
print('Connected:', conn)
conn.close()

El objeto Cursor

Para ejecutar SQL necesita un cursor. Llame a conn.cursor() para obtener uno y, después, use cursor.execute() para enviar instrucciones SQL.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
print('Cursor ready:', cur)
conn.close()

Crear una tabla

Defina un esquema con CREATE TABLE. Cada columna necesita un nombre y un tipo, como INTEGER, TEXT o REAL.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)')
print('Table created')
conn.close()

Claves primarias

Una clave primaria identifica de forma única cada fila. Declarar INTEGER PRIMARY KEY hace que SQLite incremente el valor automáticamente por usted.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT)')
print('books table ready')
conn.close()

IF NOT EXISTS

Ejecutar CREATE TABLE dos veces genera un error. Añada IF NOT EXISTS para que la instrucción se pueda ejecutar varias veces de forma segura.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
sql = 'CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)'
cur.execute(sql)
cur.execute(sql)
print('No error on second run')
conn.close()

Restricciones de columnas

Las restricciones imponen reglas de datos en el nivel de la base de datos.

  • NOT NULL exige un valor
  • UNIQUE impide los duplicados
  • DEFAULT proporciona un valor alternativo
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE accounts (id INTEGER PRIMARY KEY, email TEXT NOT NULL UNIQUE, active INTEGER DEFAULT 1)')
print('accounts table with constraints')
conn.close()

Inspeccionar el esquema

SQLite almacena la información del esquema en sqlite_master. Consúltelo para enumerar sus tablas.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
conn.close()

Guardar en un archivo

Para conservar los datos, pase un nombre de archivo a connect(). La base de datos seguirá existiendo después de que finalice su programa.

Debe llamar a conn.commit() para escribir los cambios en el disco.

import sqlite3
conn = sqlite3.connect('app.db')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
print('Saved to app.db')
conn.close()

Eliminar una tabla

Elimine una tabla con DROP TABLE. Use IF EXISTS para evitar errores si la tabla ya no existe.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE temp (id INTEGER)')
cur.execute('DROP TABLE IF EXISTS temp')
print('Dropped temp table')
conn.close()

Cierre siempre la conexión

Las conexiones abiertas mantienen abiertos los descriptores de archivo. Ciérrelas siempre con conn.close() cuando termine, o use un bloque with para realizar la limpieza automáticamente.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE t (id INTEGER)')
conn.close()
print('Connection closed cleanly')

Comprobación rápida

Compruebe cuánto entiende sobre la creación de tablas.

Resumen

Ha aprendido los conceptos básicos de sqlite3.

  • connect() abre (o crea) un archivo de base de datos
  • cursor() le proporciona un objeto para ejecutar SQL
  • CREATE TABLE define el esquema con tipos y restricciones
  • commit() conserva los cambios y close() libera la conexión

A continuación insertará y leerá filas.

Preguntas frecuentes

¿La lección «Conexión y creación de tablas» es gratis?

Sí — el texto completo de «Conexión y creación de tablas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Conexión y creación de tablas»?

Abra una base de datos y defina el esquema Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Conexión y creación de tablas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conexión y creación de tablas
  2. Insertar, seleccionar, actualizar y eliminar
  3. Consultas parametrizadas
  4. Transacciones y gestores de contexto
← Volver a Python Academy