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 NULLexige un valorUNIQUEimpide los duplicadosDEFAULTproporciona 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 datoscursor()le proporciona un objeto para ejecutar SQLCREATE TABLEdefine el esquema con tipos y restriccionescommit()conserva los cambios yclose()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
- Conexión y creación de tablas
- Insertar, seleccionar, actualizar y eliminar
- Consultas parametrizadas
- Transacciones y gestores de contexto