CursosEmpresasBlogLiveConfPrecios

Postgres HStore

Clase 20 de 22 • Curso de PostgreSQL 2017

Clase anteriorSiguiente clase

Contenido del curso

Introducción a Postgresql

  • 1
    PostgreSQL: qué es

    PostgreSQL: qué es

    07:59 min
  • 2
    Lo nuevo en Postgresql

    Lo nuevo en Postgresql

    01:32 min
  • 3
    ¿Por qué es PostgreSQL?

    ¿Por qué es PostgreSQL?

    19:41 min
  • 4
    Entendiendo el Core de Postgresql

    Entendiendo el Core de Postgresql

    11:50 min
  • 5
    Archivos de configuración

    Archivos de configuración

    13:55 min
  • 6
    Manejo De Conexiones

    Manejo De Conexiones

    30:21 min
  • 7
    Preguntas y Respuestas

    Preguntas y Respuestas

    19:12 min
  • 8
    [Extra] Cómo instalar PostgreSQL en Linux, Windows y OS X (Mac).

    [Extra] Cómo instalar PostgreSQL en Linux, Windows y OS X (Mac).

    00:00 min

Roles, Tipos de Datos, Rangos y JSON en Postgresql

  • 9
    Uso de roles en Postgresql

    Uso de roles en Postgresql

    19:14 min
  • 10
    Creando una base de datos

    Creando una base de datos

    06:57 min
  • 11
    Arquitectura de la información usando esquemas

    Arquitectura de la información usando esquemas

    04:43 min
  • 12
    Privilegios de usuario

    Privilegios de usuario

    08:27 min
  • 13
    Datos seriales

    Datos seriales

    05:35 min
  • 14
    Cadenas de texto

    Cadenas de texto

    06:03 min
  • 15
    Arreglos

    Arreglos

    11:07 min
  • 16
    Rangos

    Rangos

    09:55 min
  • 17
    JSON

    JSON

    15:47 min
  • 18
    Preguntas y Respuestas

    Preguntas y Respuestas

    10:40 min

JSON y Postgis

  • 19
    Manejo de Documentos JSON

    Manejo de Documentos JSON

    28:06 min
  • 20
    Postgres HStore

    Postgres HStore

    Viendo ahora
  • 21
    PostGis

    PostGis

    28:00 min
  • 22
    Preguntas y Respuestas

    Preguntas y Respuestas

    12:27 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Cesar David Ramírez Dimaté

        Cesar David Ramírez Dimaté

        student•
        hace 8 años
        /** Datos hstore **/ -- Maneja datos key-value. -- Obtener la extension de hstore para trabajar con este tipo de campos. CREATE EXTENSION hstore; CREATE TABLE hprofiles (id serial PRIMARY KEY, profile hstore); INSERT INTO hprofiles (profile) VALUES ('name=>Mario, ruby=>true, postgresql=>true'); INSERT INTO hprofiles (profile) VALUES ('name=>Jedun, javascript=>true, nodejs=>true'); SELECT * FROM hprofiles; -- "name"=>"Mario", "ruby"=>"true", "postgresql"=>"true" SELECT profile->'name' AS name, profile->'ruby' as ruby FROM hprofiles; SELECT * FROM hprofiles WHERE (profile->'nodejs')::boolean; SELECT * FROM hprofiles WHERE (profile->'nodejs')::boolean = true; SELECT * FROM hprofiles WHERE profile @> 'nodejs=>true'; -- Trae el registro si existe alguna llave especifica. SELECT * FROM hprofiles WHERE profile ? 'nodejs'; -- Trae el registo si existen las llaves especificadas en el array (and &). SELECT * FROM hprofiles WHERE profile ?& ARRAY['ruby', 'postgresql']; -- Trae el registo si existen al menos las llaves especificadas en el array (or &). SELECT * FROM hprofiles WHERE profile ?| ARRAY['javascript', 'postgresql']; -- Añade una nueva llave-valor en los registros actuales. UPDATE hprofiles SET profile = profile || 'html5=>true'::hstore; -- Elimina del campo profile los que tengan llave 'go'. UPDATE hprofiles SET profile = delete(profile, 'go'); -- En un arreglo de text[] obtiene solo las keys. SELECT akeys(profile) FROM hprofiles; -- {name,ruby,html5,postgresql} ... -- Por registros independientes, obtiene solo las keys. SELECT DISTINCT skeys(profile) FROM hprofiles; -- Convierte de hstore a json. SELECT hstore_to_json(profile) FROM hprofiles; -- {"name": "Mario", "ruby": "true", "html5": "true", "postgresql": "true"} ...
        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        CREATE EXTENSION hstore;
        Para habilitar el hstore

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        SELECT * FROM hprofiles WHERE profile ? 'ladrar';
        Buscar en la columna un valor especifico

          AARON OBED GIRÓN GARRIDO

          AARON OBED GIRÓN GARRIDO

          student•
          hace 8 años

          Correcto y SELECT * FROM profileh WHERE profile @> ‘sql=>true’; para buscar una llave con un valor.

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        SELECT * FROM hprofiles WHERE (profile->'ladrar')::boolean;
        Query para buscar donde el valor es igual a ladrar y lo convierte a un valor booleano

          Eduardo Rasgado Ruiz

          Eduardo Rasgado Ruiz

          student•
          hace 8 años

          Y devuelve solo las llaves ‘ladrar’ que tienen un booleano true.

          Cesar David Ramírez Dimaté

          Cesar David Ramírez Dimaté

          student•
          hace 8 años

          Así es. Por defecto siempre trae los true.

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        SELECT * FROM hprofiles WHERE profile @> 'python=>true';
        Query para preguntar si la columna profile tiene el valor python == true

        RODRIGO NOREÑA ARTEAGA

        RODRIGO NOREÑA ARTEAGA

        student•
        hace 10 años

        "||" se usa para concatenar

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        Query para ingresar un valor a la columna en todos los registros ya existentes:

        UPDATE hprofiles SET profile = profile || 'html5=>true'::hstore;

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        Borrar un valor dentro de todos los registros:

        UPDATE hprofiles SET profile = delete(profile,'go');

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        Query para obtener en un json las llaves de la columna

        SELECT hstore_to_json(profile) FROM hprofiles;

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        SELECT * FROM hprofiles WHERE profile ?& ARRAY['python','ladrar'];

        Query para buscar donde el registro tanto sepa python como ladrar

        SELECT * FROM hprofiles WHERE profile ?| ARRAY['python','ladrar'];
        query para buscar el valor python o el valor ladrar

        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        Query para obtener las llaves en un arreglo:

        SELECT akeys(profile) FROM hprofiles;

        Cesar David Ramírez Dimaté

        Cesar David Ramírez Dimaté

        student•
        hace 8 años

        Se nota bastante que este profesor no prepara el curso, es más el tiempo que se pierde buscando el error que uno encontrando la respuesta.

        Guillermo Vara De Gante

        Guillermo Vara De Gante

        student•
        hace 6 años

        HStore y JSON son muy parecido, ¿Como decidir cual de los dos tipos ocupar?. De hecho por el video se ve que la sintaxis de HStore es mas sencilla y tiene mas metodos.

          Erik Elyager

          Erik Elyager

          student•
          hace 6 años

          Una ventaja de JSON es que es un documento con tipos de datos, se tienen objetos anidados y puedes almacenar algo más que texto, números por ejemplo etc.

          Dependiendo de las necesidades de almacenamiento de cada caso se elige uno u otro, sigue estudiando y con la experiencia irás disipando esas dudas.

        Jose Garcia

        Jose Garcia

        student•
        hace 10 años

        HStore, trabaja en memoria como redis ? 

        Javier Córdova

        Javier Córdova

        student•
        hace 7 años

        Y pensar que he estado utilizando PostgreSQL en un 20% jajajaja.
        Excelentes clases.

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Select para columna hstore (Opción 2)

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Funcionamiento de las llaves en Hstore

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Select para columna hstore

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Eliminar una llave dentro de la columna hstore

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Consulta todas la llaves dentro de una columna hstore