Comandos SQL - SQLite3



🔧 Paso 1: Crear la Base de Datos

sqlite3 MiBaseAvanzada.db

Esto abrirá el intérprete de SQLite y creará el archivo MiBaseAvanzada.db.

📑 Paso 2: Crear Tablas

-- Crear tabla de usuarios
CREATE TABLE Usuarios (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  nombre TEXT NOT NULL,
  correo TEXT UNIQUE,
  edad INTEGER,
  fecha_registro DATE DEFAULT (DATE('now'))
);

-- Crear tabla de pedidos
CREATE TABLE Pedidos (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  usuario_id INTEGER,
  producto TEXT,
  cantidad INTEGER,
  fecha DATE DEFAULT (DATE('now')),
  FOREIGN KEY(usuario_id) REFERENCES Usuarios(id)
);

📝 Paso 3: Insertar Datos

-- Insertar usuarios
INSERT INTO Usuarios (nombre, correo, edad) VALUES ('Milton', 'milton@example.com', 30);
INSERT INTO Usuarios (nombre, correo, edad) VALUES ('Ana', 'ana@example.com', 25);

-- Insertar pedidos
INSERT INTO Pedidos (usuario_id, producto, cantidad) VALUES (1, 'Laptop', 1);
INSERT INTO Pedidos (usuario_id, producto, cantidad) VALUES (2, 'Teclado', 2);

🔄 Paso 4: Actualizar Datos

-- Actualizar edad de Milton
UPDATE Usuarios SET edad = 31 WHERE nombre = 'Milton';

-- Cambiar cantidad de pedido
UPDATE Pedidos SET cantidad = 3 WHERE producto = 'Teclado';

🔍 Paso 5: Búsqueda y Consultas Avanzadas

-- Seleccionar todos los usuarios
SELECT * FROM Usuarios;

-- Buscar usuarios mayores de 25 años
SELECT nombre, edad FROM Usuarios WHERE edad > 25;

-- Join entre usuarios y pedidos
SELECT U.nombre, P.producto, P.cantidad
FROM Usuarios U
JOIN Pedidos P ON U.id = P.usuario_id;

-- Contar pedidos por usuario
SELECT usuario_id, COUNT(*) AS total_pedidos
FROM Pedidos
GROUP BY usuario_id;

📤 Paso 6: Exportar Resultados a CSV

.mode csv
.headers on
.output usuarios.csv
SELECT * FROM Usuarios;
.output stdout

.output pedidos.csv
SELECT * FROM Pedidos;
.output stdout

Esto generará archivos usuarios.csv y pedidos.csv con los datos.

🚪 Paso 7: Cerrar la Línea de Comando

.exit

Esto cierra el intérprete de SQLite y guarda los cambios en el archivo .db.

✅ Recomendaciones de Robustez

  • Usar claves primarias autoincrementales para evitar duplicados.
  • Definir restricciones (NOT NULL, UNIQUE, FOREIGN KEY) para mantener integridad.
  • Exportar periódicamente a CSV como respaldo auditable.
  • Verificar con SELECT después de cada operación para confirmar resultados.

 

Publicar un comentario

0 Comentarios