Para crear el SCHEMA platzi pueden ejecutar el siguiente comando en SQL shell:
CREATE DATABASE pruebas;
y después:
CREATE SCHEMA platzi;
Introducción a SQL
Breve historia de SQL
Álgebra relacional
Instalación de la BD de ejemplo
Qué es una proyección (SELECT)
Origen (FROM)
Productos cartesianos (JOIN)
Selección (WHERE)
Ordenamiento (ORDER BY)
Agregación y limitantes (GROUP BY y LIMIT)
Ejercitando tu SQL
El primero
El segundo más alto
Seleccionar de un set de opciones
En mis tiempos
Seleccionar por año
Duplicados
Selectores de rango
Eres lo máximo
Egoísta (selfish)
Resolviendo diferencias
Todas las uniones
Triangulando
Generando rangos
Regularizando expresiones
Conceptos de SQL Avanzado
Bases de datos distribuidas
Queries distribuídos
Sharding
Window functions
Particiones y agregación
El futuro de SQL
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
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:
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 SCHEMA
platzidefault 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…
Todo maravilloso, pasos realizados y a por el reto de este curso.
Instalacion en ubuntu
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!! 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?