Middle+
¿Cómo diseñarías una consulta SQL a la base de datos sin usar ORM?
sobes.tech AI
Respuesta de la IA
Para consultar datos de la tabla users, donde el campo is_active sea true y role sea 'admin':
SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';
Para insertar un nuevo registro en la tabla products:
INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);
Para actualizar un registro en la tabla orders, estableciendo el estado 'shipped' para el pedido con id = 100:
UPDATE orders
SET status = 'shipped'
WHERE id = 100;
Para eliminar un registro de la tabla comments por id:
DELETE FROM comments
WHERE id = 500;
Para una unión básica de las tablas users y orders por user_id:
SELECT u.username, o.order_date, o.total_amount
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;
Al diseñar, es importante tener en cuenta:
- Seguridad: Usar consultas parametrizadas para prevenir inyecciones SQL.
- Rendimiento: Optimizar consultas usando índices, evitando
SELECT *y revisando los planes de ejecución. - Legibilidad: Formatear las consultas, usar alias para tablas y campos.
- Pruebas: Verificar las consultas en diferentes escenarios y volúmenes de datos.
Ejemplo de consulta parametrizada (conceptual, la implementación depende del lenguaje y driver):
// Ejemplo para consultar un usuario por ID
SELECT id, username FROM users WHERE id = ?;