SYSPROVIDER®

Soporte 24h: 941 89 97 43

Consultas SQL en Prestashop, todo lo que necesitas saber

mejores consultas SQL para tu tienda online prestashop

Las consultas SQL pueden ahorrarte tiempo, mejorar la eficiencia y brindarte control total sobre tu tienda en PrestaShop. Aunque al principio puedan parecer técnicas, aprender algunas básicas y avanzadas te permitirá gestionar mejor tu eCommerce y solucionar problemas de forma autónoma. 

¿Qué son las consultas SQL? 

Las consultas SQL (Structured Query Language) son comandos utilizados para interactuar con bases de datos, permitiendo realizar operaciones como buscar, modificar, eliminar y organizar datos almacenados en un sistema de gestión de bases de datos (DBMS). En el caso de PrestaShop, todas las configuraciones, productos, pedidos, clientes y módulos se almacenan en una base de datos MySQL, por lo que las consultas SQL son clave para acceder a esa información. 

¿Por qué es útil usar consultas SQL en tu eCommerce en PrestaShop? 

Si tienes un eCommerce basado en PrestaShop, aprender a realizar consultas SQL te permitirá: 

  • Obtener información en segundos: Puedes extraer datos específicos sobre productos, pedidos, clientes o stock sin necesidad de acceder manualmente al backoffice. 
  • Solucionar problemas rápidamente: Puedes identificar y corregir errores en la base de datos cuando hay problemas con productos, carritos abandonados, stock incorrecto, pedidos mal registrados, etc. 
  • Automatizar tareas repetitivas: En lugar de gestionar manualmente productos o clientes, puedes usar consultas SQL para modificar en lote datos como precios, stock o estados de pedidos. 
  • Optimizar el rendimiento: Revisar qué consultas afectan la velocidad de carga de la tienda y optimizar la base de datos para mejorar la experiencia del usuario. 
  • Generar reportes personalizados: Puedes obtener datos detallados que no están disponibles en los informes estándar de PrestaShop, como: 
    • Clientes que más compran. 
    • Productos con mayor demanda. 
    • Pedidos pendientes de pago. 
    • Errores en URLs o SEO. 

Muchas de estas consultas son accesibles a través del interfaz visual del backoffice de Prestashop. Pero utilizar consultas SQL te permite personalizar y afinar mucho más la información que recibes a través de los paneles y realizar informes a medida.  

Además, las consultas SQL son una buena forma de administrar la tienda sin depender del backoffice. Esto es especialmente útil si el panel de administración de PrestaShop está inaccesible o lento, siempre puedes realizar gestiones directamente desde la base de datos. 

¿Cómo ejecutar consultas SQL en PrestaShop? 

Existen varias formas de ejecutar consultas SQL en Prestashop. A continuación, te las contamos:

  1. Desde phpMyAdmin (normalmente accesible desde cPanel o el hosting). 
  2. Mediante un módulo de SQL Manager en PrestaShop (se encuentra en Parámetros avanzados > Base de Datos).  
  3. Con herramientas externas como MySQL Workbench o HeidiSQL, si tienes acceso remoto a la base de datos. 

Las mejores consultas SQL para utilizar en Prestashop

A continuación, compartimos contigo algunas consultas muy útiles que te ayudarán a agilizar tus procesos y a llevar tu tienda online en PS al siguiente nivel.

Consultas SQL para pedidos 

Si lo que quieres es mejorar la revisión y el seguimiento de tus pedidos, ¡guárdate estas consultas en el portapapeles!

Listar pedidos recientes con nombre de cliente y total pagado 

SELECT o.id_order, CONCAT(c.firstname, ‘ ‘, c.lastname) AS cliente, o.total_paid, o.date_add FROM ps_orders o JOIN ps_customer c ON o.id_customer = c.id_customer ORDER BY o.date_add DESC LIMIT 20;

Pedidos pendientes de pago 

SELECT o.id_order, CONCAT(c.firstname, ‘ ‘, c.lastname) AS cliente, o.total_paid, os.name AS estado FROM ps_orders o JOIN ps_customer c ON o.id_customer = c.id_customer JOIN ps_order_state_lang os ON o.current_state = os.id_order_state WHERE os.id_lang = 1 — Ajustar ID de idioma AND os.name LIKE ‘%pendiente%’;

Consultas SQL para productos 

¿Quieres realizar una gestión más ágil de los productos de tu tienda online? A continuación, encontrarás algunas consultas que te ahorrarán mucho tiempo.

Obtener listado de productos con stock y precios 

SELECT p.id_product, pl.name, sa.quantity, p.price FROM ps_product p JOIN ps_product_lang pl ON p.id_product = pl.id_product JOIN ps_stock_available sa ON p.id_product = sa.id_product WHERE pl.id_lang = 1; — Cambiar el ID del idioma si es necesario

Productos sin stock

SELECT p.id_product, pl.name, sa.quantity FROM ps_product p JOIN ps_product_lang pl ON p.id_product = pl.id_product JOIN ps_stock_available sa ON p.id_product = sa.id_product WHERE sa.quantity = 0;

Actualizar stock de un producto específico

UPDATE ps_stock_available SET quantity = 50 WHERE id_product = 123; — Cambiar ID del producto

Consultas SQL sobre clientes 

Conocer a tus clientes es crucial para el éxito de tu tienda online. Por eso, te facilitamos estas consultas para que puedas obtener más información sobre ellos. 

Obtener los clientes que más han comprado

SELECT c.id_customer, CONCAT(c.firstname, ‘ ‘, c.lastname) AS cliente, COUNT(o.id_order) AS num_pedidos, SUM(o.total_paid) AS total_gastado FROM ps_customer c JOIN ps_orders o ON c.id_customer = o.id_customer GROUP BY c.id_customer ORDER BY total_gastado DESC LIMIT 10;

Buscar clientes por email 

SELECT id_customer, firstname, lastname, email FROM ps_customer WHERE email LIKE ‘%@gmail.com%’; — Cambia el dominio según necesidad

Consultas SQL para la gestión de URLs y SEO

Contar con una web bien optimizada para posicionar en los buscadores es un factor diferencial en tu tienda que te ayudará a distinguirte de tu competencia. Con la siguiente consulta, podrás obtener URLs de productos más optimizadas.

Obtener URLs amigables de productos

SELECT p.id_product, pl.name, l.iso_code, CONCAT(‘https://tu-tienda.com/’, l.iso_code, ‘/’, ps.link_rewrite, ‘.html’) AS url_amigable FROM ps_product p JOIN ps_product_lang pl ON p.id_product = pl.id_product JOIN ps_lang l ON pl.id_lang = l.id_lang WHERE l.id_lang = 1; — Cambiar el ID del idioma si es necesario

Consultas SQL sobre las categorías de tu eCommerce

Una buena gestión de tus categorías ayudará a mejorar la organización de tu tienda online en PS.

Listar todas las categorías con el número de productos 

SELECT c.id_category, cl.name AS categoria, COUNT(cp.id_product) AS num_productos FROM ps_category c JOIN ps_category_lang cl ON c.id_category = cl.id_category LEFT JOIN ps_category_product cp ON c.id_category = cp.id_category WHERE cl.id_lang = 1 — Ajustar ID de idioma GROUP BY c.id_category ORDER BY num_productos DESC;

Gestión de módulos mediante consultas SQL 

Limpiar tu tienda online en PS de módulos inactivos que ya no estés utilizando debería de ser una tarea recurrente de mantenimiento.  

Ver qué módulos están instalados y no están activos

SELECT m.id_module, m.name, m.active FROM ps_module m ORDER BY m.active DESC;

Con todo esto, ya puedes comenzar a utilizar consultas SQL para mejorar tus procesos en tu tienda online en Prestashop.  

¿Quieres saber más?