Curso Práctico de SQL

Curso Práctico de SQL

Israel Vázquez Morales

Israel Vázquez Morales

Instalación de la BD de ejemplo

3/29

Lectura

Como requisito previo es necesario instalar la BD siguiendo este tutorial del curso de PostgreSQL.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 89

Preguntas 66

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para crear el SCHEMA platzi pueden ejecutar el siguiente comando en SQL shell:

CREATE DATABASE pruebas;

y después:

CREATE SCHEMA platzi;

Para Crear las Tablas en Microsoft SLQ Server Management Studio, los campos de Fecha (TIMESTAMP) se crean con DATETIME, el campo Boolean, se crea con BIT.

Se puede seguir el curso usando MySQL Workbench?

Para los que quiera usar docker

Estructura de archivos:

├── docker-compose.yml
├── dump
│   ├── platzi.alumnos.sql
│   └── platzi.carreras.sql
└── env
    ├── pgadmin
    └── postgres

docker-compose.yml

version: "3.9"

services:
  postgres:
    image: postgres:13
    container_name: psql
    volumes:
      - "./dump/:/docker-entrypoint-initdb.d/"
      - "db-data:/var/lib/postgresql/data"
    env_file:
      - ./env/postgres
    ports:
      - "5432:5432"

  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin
    ports:
      - "5050:80"
    env_file:
      - ./env/pgadmin
    volumes:
      - "pgadmin-data:/var/lib/pgadmin"

volumes:
  db-data:
  pgadmin-data:

./env/postgres

POSTGRES_PASSWORD=passw0rd
POSTGRES_USER=platzi
POSTGRES_DB=test

./env/pgadmin

PGADMIN_DEFAULT_EMAIL[email protected]
PGADMIN_DEFAULT_PASSWORD=pgadmin

Paso 1: Primero hay que crear un archivo para crear el esquema

echo"CREATE SCHEMA platzi;" > dump/1-schema.sql

Paso 2: Corremos PostgreSQL, PGAdmin4 y se cargan los archivos SQL que estan en la carpeta dump (Los archivos se cargan en orden alfabetico por eso el archivo que creamos tiene el numero 1, para que cargue antes de crear las tablas)

docker-compose up -d

Paso 3: PGAdmin estara corriendo en localhost:5050 o 127.0.0.1:5050
Paso 3.1: ingresamos con el email y password definidos en ./env/pgadmin
Paso 3.2: Agregamos un nuevo servidor (El hostname es el nombre de nuestro contenedor definido en docker-compose.yml (psql en nuesto caso)
Paso 3.3: Continuar con el curso, ya esta el schema, las tablas y los datos cargados
Paso 4: Si quiere usar postgres desde la terminal

docker exec -ti psql psql -U platzi -d test
<h3>Notas:</h3>

Para los que quieran saber como es que se cargan los archivos SQL y saben un poco de bash y docker pueden ver el entrypoint, de hecho tambien se puede pasar un archivo *.sql, *.sql.gz, *.sql.xz y *.sh
Pueden iniciar todo con un script como el sigiente

#!/usr/bin/env bash
psql -U $POSTGRES_USER -d $POSTGRES_DB  <<-EOSQL
-- YOUR SQL Statements here
EOSQL

Si quieren utilizar docker y no instalar nada en su computadora o aprender algo de docker, cree en tu tutorial que les será de gran ayuda, este es el enlace. 😃 espero les sirva.

Es motivador seguir paso a paso y que funcione, bien!!!

Me perdí

Ejecutando el archivo en la base de datos por la consola

psql -U usuario -d platzi -f platzi.carreras.sql 
psql -U usuario -d platzi -f platzi.alumnos.sql 

Me costó un poco de trabajo sincronizar postgresql con pgadmin en Archlinux, pero lo logré 😄

Practicando es la mejor forma de aprender 😄

cuando le doy a drive me salen los archivos por un momento pero luego no se visulizan los archivos de drive

Usé SQL Server 2019 al momento de empezar este curso. Lo que hice fue lo siguiente:

  1. Anticlic en Databases y crear nueva Database. (Le puse de nombre prueba).
  2. Clic en + en Pruebas, luego clic en + en Security, anticlic en New Schema y agregar el nombre del Schema.
  3. Abrir los archivos .sql del curso.
  4. Cambiar la base de datos donde va a correr la Consulta (Query) a la que vamos a trabajar “PRUEBA”.
  5. En platzi Alumnos.sql, cambiar TIMESTAMP por DATETIME. Luego, Ejecutar.
  6. En platzi Carreras.sql cambiar TIMESTAMP por DATETIME y Boolean por BIT, además, agregar comillas a TRUE o FALSE, de manera que ese espacio sea ‘TRUE’ o ‘FALSE’. Luego, Ejecutar.

En caso se olviden de cambiar Timestamp y se ha creado ya la tabla, la pueden eliminar y realizar la misma consulta haciendo el cambio del tipo de dato.

Si usas una distribución de Arch Linux como Manjaro, puedes seguir este sencillo procedimiento para la instalación.

No tienes que usar yay, puedes usar pacman

sudo pacman -Sy postgresql postgresql-docs postgresql-libs pgadmin4

Al momento de ejecutar los scripts a mi me sale el siguiente error

Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column.

Alguna idea de como puedo solucionarlo?

La solución para el error

ERROR: schema “platzi” does not exist
LINE 1: create table platzi.alumnos (
^
SQL state: 3F000
Character: 14

siplemente hay que revisar que el nombre del Schema sea el mismo que mensionado en el scrip:
Ejemplo: schema = colocarnombredeschema

CREATE TABLE colocarnombredeschema.carreras (
id INT,
carrera VARCHAR(100),
fecha_alta TIMESTAMP,
vigente BOOLEAN
);

Eso significa que se volverá a utilizar MySQL Workbench?

Este tipo de cursos los tienen que actualizar cada ciertos meses la plataforma de PgSQL cambio totalmente, tiene que ser mas detallado todo, este curso se grabo hace años, el mismo PgSQL ya no es el mismo como el que aparece en las capturas, muy mal, pésimo es en el curso que mas me he tardado en hacer la instalación de un simple programa. Ni siquiera MySQL fue tanto rollo como esto.

les comparto una docker-compose y que la informacion sea perduradera tanto en la BD como en Pg admin para que no se tenga que crear la conexón cada de que hacemos el up de los servicios

primero debemos crear los dos volumes para nuestros servicios

 docker volume create bdsql  && docker volume create pgdata

le ingresamos permisos a estos objetos, ya que por algún motivo falla cuando los servicios intentan escribir en estos

sudo  chmod 776 bdsql
sudo chmod 776 pgdata

y por ultimo activamos nuestro docker-compose-yml

version: "2.5"
services:
    db:
        image: postgres
        restart: always
        container_name: database
        ports:
            - "5432:5432"
        environment:
            POSTGRES_USER: root
            POSTGRES_PASSWORD: root
            POSTGRES_DB: pgdb
        volumes:
         # - .:/bdsql
                - ./bdsql:/var/lib/postgresql/data/
        networks:
          - bd-net
    pgadmin:
        container_name: pgadmin4_container
        image: dpage/pgadmin4
        restart: always
        environment:
            PGADMIN_DEFAULT_EMAIL: [email protected]
            PGADMIN_DEFAULT_PASSWORD: root
        ports:
            - "5050:80"
        volumes:
           - ./pgdata:/var/lib/pgadmin/
        networks:
          - bd-net
networks:
   bd-net:

y cada que iniciamos tendremos nuestra data lista para seguir practicando

Para poder trabajar con ‘MySQL Workbench’ primero creamos el Schema ‘platzi’ ejecutando en Workbench
CREATE SCHEMAplatzidefault character SET utf8;

Posteriormente ya podemos cargar y ejecutar los archivos los archivos ‘platzi.alumnos.sql’ y ‘platzi.carreras.sql’ que se encuentran en la descipción de la clase.

Sigan el paso a paso, a mi me funcionò todo a la perfecciòn.

Go!

Hola, las tablas existen y tienen los datos cargados pero al buscar dentro de la base de datos “platzi” no hay ninguna relación , ¿ por que pasa esto?

Para instalar pgAdmin en Debian y derivados (yo uso Kali-Linux Rolling), fuí a la página de documentación oficial: https://www.pgadmin.org/download/pgadmin-4-apt/ ;
Resulta que el segundo enlace está defectuoso (el “update” no fetchea bien las actualizaciones). Encontré este tutorial que (creo) puede servirle a algunos:
https://www.youtube.com/watch?v=L2eGwlkRRJ8 ;

Si no quieren instalar de forma local PostgreSQL pueden usar Heroku de forma gratuita, agregar la base de datos a su aplicación y listo.
Como cliente les recomiendo Postico ó BeeKeeper en la versión Community que es gratis.

Para crear el schema deben ejecutar la query:

create schema platzi authorization tuUsuario;

Eligiendo el usuario que les da la heroku de su base de datos.

Arrastran el archivo SQL de alumnos al editor de beekeepero, seleccionan todo el texto y lo ejecutan y listo.

Si alguno también le daba error a la hora de crear las tablas por el “platzi.” (porque el query se creo dentro del shema). Les recomiendo abrir el archivo de “alumnos” y “carrera” con el blog de notas, copiamos el contenido

Abrimos word y pegamos. Usamos “Ctrl + L” y remplazamos “platzi.” por “(el segundo espacio no debe contener nada)”.

Luego de remplazar pegamos el resultado en nuestro blog de notas y guardamos. Esto ya nos dará error

Espero que les sirva a las personas que tuvieron el mismo problema que yo 👾

Pésima herramienta PGAdmin, a la mayoría les presenta problemas y no dan solución alguna… Llevo horas tratando de hacer que funcione sin tener éxito.

Hola, compañeros ya he reportado el problema de descarga de archivos en Drive, me comentaron que ya el equipo de educacion trabaja en solventar el problema y me notificaran.

Donde esta el archivo platzi.alumnos.sql

Esta vez fue bastante sencillo! Justo por estas fechas hace un año PostgreSQL se me dificultaba mucho!

¡Todo listo para comenzar!

En Ubuntu es necesario establecer la contraseña para crear el servidor:

$ sudo -u postgres psql

postgres=# ALTER USER postgres PASSWORD 'newPassword';```

Alguien que lo esté haciendo con Docker? tuve problemas para instalar, y como quiero seguir viendo esto, decidí hacerlo con docker, agregué manualmente los archivos a la bd ya creada, digo, no tarde mucho, pero no se si habría una manera de agregar archivos .sql directamente con psql ?

Listo, tuve que hacer pasos adicionales por un par de errores en la instalación en Mac OS 11.2, pero lo pude solucionar.

boi a ser lo ke menseñó el profe beco

Pefecto!, ahora a seguir adelante con el curso!

Muy bien, continuemos…

Para usuarios de linux le recomiendo ver este vídeo para instalar Postgres LINK

existe alguna otra alternativa a pg Admin 4?

todo perfecto ! ahora gogogo

Que genial que se siente hacer todo como está esperado en la máquina.

Intentaré hacerlo con el SQL, por lo visto solo cambiaron algunos tipos de datos que se agregan de manera distinta.

Hecho, sigan el paso a paso, todo muy bien explicado.

pregunta hay alguna forma de poder dockerizar postgres para no tener que instalarlo en el equipo?

Me gustó que prefiera usar la interfaz de Postegres

Muy bueno el tutorial!

listo PostgreSQL instalado…

Alguien tuvo este error? No encuentro solución aún. ERROR: no existe el esquema «platzi» LINE 1: create table platzi.alumnos ( ^ SQL state: 3F000 Character: 14
Aprovechando para utilizar dveaber ![](https://static.platzi.com/media/user_upload/image-c33423d8-15e2-44a9-a1aa-63d571aac55d.jpg)![](https://static.platzi.com/media/user_upload/image-e45e301f-012f-4658-bc2b-cc8f26f121e5.jpg)
![](https://static.platzi.com/media/user_upload/image-f2821f9f-7bf9-446b-a524-18efb2063f1a.jpg)No me es posible ingresar al Link, alguien me podría indicar la razón por favor.
tengo un tutorial sobre cómo instalar postgres en docker super fácil y cómo usar dbeaver para conectarse, por si a alguien le sirve <https://dev.to/chema/how-to-create-a-dockerized-postgres-db-3hg9>
no me deja abrir la BD, me aparece así: ![](file:///D:/Platzi/Business%20Intelligence%20y%20Data%20Management/9%20Curso%20practico%20de%20SQL/Sin%20t%C3%ADtulo.png)
MySQL ya acepta VScode como administrador de bases de datos <https://dev.mysql.com/>
Necesito saber como descargar eso para continuar SQL o pgAdmin
Alguien me ayuda en como se cual es mi usuario de PostgreSQL?

Todo maravilloso, pasos realizados y a por el reto de este curso.

Instalado todo y cargadas las BD sin problemas.

Saludos, desde ya iniciando y botando el herrumbre.

Pues usare MSSQLS haber que tal me va

Aqui vamos

gosh tuve demasiados errores dos dias instalando pero ya, debido a que ya lo habia instalado antes y luego lo des instale

aquí vamos de nuevo

Se instaló correctamente


Para crear la base de datos, escribir en el navegador: “SQL SHEEL” Y despues de dar enter varias veces hasta tener que escribir la contraseña; escribir el siguiente comando: "CREATE DATABASE prueba; "

Hola, me costo un poco poder entender que tenia que crear un servidor en PGAdmin4 para conectarlo con la Database que cree en la consola.

si a alguien le sirve asi llene la tablita para que me funcionara la creacion del Server en PGAdmin4.
Previamente use

\password

en la consola de pqsl para crear la contraseña, para usar en la conexion al servidor desde PGAdmin4 y voilá!

Tuve que modificar los archivos yo mismo para hacerlos correr sin errores en SQL Server Management Studio pero rompiendo el código y volviendolo a escribir el aprendizaje fue mayor. Ejemplo, no conocía el Data Type Boolean ni que el equivalente en SQL Server es BIT.

Excelente guua para instalar la base de datos.

Insertar bases de datos y tablas desde ubuntu

Primero se accede desde la consola a postgres

psql -h localhost -p 5432 -U usuario_de_cada_uno

Les pide la contraseña por consola e ingresan
Ahi se crea la base de datos

CREATE DATABASE pruebas;

Usando

\l

Pueden verificar que su base haya sido creada
Despues deben ingresar dentro de esa base

\c pruebas

Y ahi si se crea el esquema

CREATE SCHEMA platzi;

Una vez creado el esquema se descargan los archivos platzi-alumnos.sql y platzi-carreras.sql y se guarda la ruta donde quedo cada archivo

Salen con exit
y desde la consola original se pone esto

psql -U nombre_del_usuario -d pruebas -h localhost < ruta_donde_se_guardo/platzi-alumnos.sql
psql -U nombre_del_usuario -d pruebas -h localhost < ruta_donde_se_guardo/platzi-carreras.sql

Ahi debe mostrar que se han insertado los datos.

para fedora se los dejo

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/F-36-x86_64/pgdg-fedora-repo-latest.noarch.rpm
sudo dnf install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14

Pueden instalar PostgreSQL en linux siguiendo este tutorial.
https://www.youtube.com/watch?v=40uGNsi7ysc

El curso tiene un buen comienzo, pues, las bases de datos son extensas y podremos tener buenos ejemplos prácticos para seguir el hilo del curso.

En mi caso salieron varios errores a instalar el pg con la v 12 y 13, asi que opté por usar Big query, es bastante sencillo y rápido, solo se debe convertir los archivos sql a csv para poder cargarlos

Pareciera caído el drive con los archivos Sql, si alguien me los puede facilitar se lo agradecería mucho.

Listo, seguí la guía y no tengo problema alguno, vamos a comenzar !!!

Producto Cartesiano A*B, Diferencia A-B, Unión: AUB

si les sale error al añadir query, modifiquen los siguiente

id INT, - debe ser - id INT ,

deben de darle un espacio a la coma

Si tuvieron problemas instalando pgadmin4 en ubuntu 20.04 a mi me ayudo el siguiente tutorial: https://www.youtube.com/watch?v=lX9uMCSqqko&ab_channel=codingpub360

una opcion tambien es phpMyadmin

EXCELENTE MATERIAL

He seguidos todos los pasos y sin problema! muchas gracias 🤓, continuamos 😆

Todo listo para continuar, instale version 12 y todo bn.

Buen día,

Quise realizar el ejercicio son MS Sequal Server pero como las consultas entre Postgre y MS Sequal Server son distintas, no se que ajuste realizar al archivo platzi.alumnos para que el Query sea exitoso.

¿Alguien me puede ayudar?

Actualmente estoy usando la version 9.2 de postgreSQL para un trabajo, yo puedo instalar dos versiones (para instalar la 12) en un mismo equipo?

Go Ahead!!

Todo listo 😃

Vamos!!

perfect, lets go!! 😃