¡El poder de los datos!

1

¡El poder de los datos!

Introducción a las bases de datos relacionales

2

Buenas prácticas de bases de datos con SQL

3

Tipos de datos en SQL

4

¿Cómo crear una base de datos en SQL?

5

Práctica: Tu primera consulta en bases de datos

6

Historia y Evolución de SQL

7

Práctica: Creación de Tablas en SQL (CREATE TABLE)

Manipulación de Datos

8

Insertando Datos con SQL (INSERT)

9

Consultas y Selecciones en SQL (SELECT)

10

Práctica: SELECT en SQL

11

Actualización de Datos con SQL (UPDATE)

12

Eliminación de Datos con SQL (DELETE)

13

Práctica: CRUD con SQL

Manipulación Avanzada de Datos

14

Instalación de MySQL Server y MySQL Workbench

15

¿Qué es la cláusula WHERE de SQL?

16

Filtrar y Ordenar Datos en SQL (LIKE)

17

Práctica: Filtrar Datos con WHERE en SQL

18

Cláusulas de Comparación Textual en SQL (AND, NULL, IN, NOT)

19

Funciones de Aritmética Básica en SQL (COUNT, SUM, AVG)

20

Funciones de Aritmética Básica en SQL (MIN, MAX)

Agrupación de Datos

21

Agrupación de Datos en SQL: GROUP BY, HAVING y CASE para Análisis Avanzado

22

Práctica: Agrupamiento y Ordenamiento de Datos

23

Tipos de JOIN en SQL

24

¿Cómo funciona INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN?

25

Práctica: LEFT JOIN en SQL

Transformación de Datos

26

Vistas Materializadas en SQL: Como optimizar tus consultas y reportes.

27

Práctica: Crear Vistas Materializadas en SQL

28

Optimización de Bases de Datos con SQL: CREATE INDEX y TRIGGER

29

Vistas Materializadas y Temporales en SQL

30

Expresiones de Tablas Comunes (CTE) en SQL

Procedimientos Almacenados

31

Procedimientos Almacenados en SQL

32

Procedimientos Almacenados en SQL: Gestión de Variables y Manejo de Excepciones

Administración de Base de Datos

33

Respaldos y Restauración de Bases de Datos

34

Seguridad en Bases de Datos SQL

Análisis de Datos Avanzados

35

Potenciando los Datos en la Nube: Data Science, Big Data, ML e AI

36

SQL para Análisis de Datos: Primeros pasos con Power BI

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
8 Hrs
51 Min
20 Seg

Práctica: Creación de Tablas en SQL (CREATE TABLE)

7/36

Aportes 79

Preguntas 0

Ordenar por:

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

Algunas observaciones: 1. El nombre de la tabla y los atributos deben estar en minúscula para que corra la prueba. Lo probé con mayúsculas inicialmente y no me funcionó. 2. Para el `person_id` se debe utilizar `INTEGER` y no `INT` 3. Recordar que a pesar que las instrucciones digan que una columna es de tipo texto, se debe analizar si especifican la cantidad de caracteres (longitud), pues esto nos indica que debemos usar `VARCHAR` y no `TEXT` 4. Siempre está la tentación de ver los comentarios y encontrar la solución de otros compañeros. Deberían ocultar esta sección hasta ciertos intentos, para promover la proactividad de los estudiantes.
Recomiendo usar VARCHAR para el tema de textos si quieres restringir el número de caracteres permitidos, TEXT se usa para guardar grandes cantidades de texto. El script que probé es el siguiente: ```js CREATE TABLE people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255), first_name VARCHAR(255), address VARCHAR(255), city VARCHAR(255) ); ```
al principio dicen que el curso empieza desde cero. para las personas que no sabemos nada de codigo o datos los comandos que aparecen en mayúscula son garabatos chinos que no tienen sisgnificado. me imagino que hay una lista de comandos en internet y como se aplican, me estoy ayudando con CHATGPT para estos ejercicios. Paciencia y compromiso debes tener joven Padawan diría Yoda
![](https://static.platzi.com/media/user_upload/imagen-1c6f1c39-be05-4c62-8fe2-523a3477340a.jpg)No funciona usando INT tienes que ser INTEGER

Algo no esta bien porque se supone que hay que mantener el formato(mayúsculas o minúsculas) y tuve que poner los varchar en mayúsculas cuando lo demás lo tengo en minúscula. PD mi solución:
create table people (
person_id integer primary key autoincrement not null,
last_name VARCHAR(255),
first_name VARCHAR(255),
address VARCHAR(255),
city VARCHAR(255)
);

creo que hay un error en las pruebas, yo suelo escribir instrucciones SQL en minúsculas y al principio del curso dijeron que no importaba mientras fuera consistente. La cosa es que me dió error poner "varchar(255)" y lo tuve que cambiar a mayúsculas.
Como le hago para borrar una tabla, si me equivoqué y quiero cambiar TEXT por VARCHAR pero no me deja borrar y volver a crear, tuve que ponerle people2 ![](https://static.platzi.com/media/user_upload/2024-06-21_16h54_48-6c3f69bf-b7ac-4d4d-b197-3f1717965b68.jpg)
En las primeras clases mencionarón que era imporante mantener altas o bajas, sin embargo, mantuve pura alta y en mi error me indicaba puras bajas. Esto porqué paso? Gracias
Este reto es bueno me ayuda a recorde mis conocimientos en BD. Lo malo es que para los nuevos en la materia si se saltan algunas explicaciones. Estos retos de platzi son buenos lo malo es que son minuciosos con las mayusculas y minusculas. Mi codigo lo hice en minusculas y me daba error. Lo cambie a mayuscula y recien sale correcto. ![](file:///D:/01%20-%20CURSOS%20PLATZI/13%20-%20BD%20DE%20CERO/1%20-%20BASE%20DE%20DATOS%20SQL/01%20-%20INTRODUCCION%20BD%20RELACIONALES/TEMA%206%20-%20CREACION%20DE%20TABLAS%20SQL/PASO%204%20-%20REALIZAR%20PRUEBAS%20DE%20SOFTWARE.png)
alguno le sucedio que al correr el codigo con varchar o text las pruebas le de success pero al ejecutar les de error ? otro punto aun no hemos visto estructuras condicionales. y en la solucion lo pide. nuevamete es confuso.
Leer antes de hacer el ejercicio: En código que ponen en la parte de la guía es un seudo código, se debe modificar el INT a INTEGER, por ejemplo y los TEXT a VARCHAR, por mencionar algunos.
\-- Inserta tu sentencia aquicreate table people(person\_id INTeger PRIMARY KEY AUTOINCREMENT not null, last\_name VARCHAR(255), first\_name VARCHAR(255), address VARCHAR(255),city VARCHAR(255),    LOAD\_DATE TIMESTAMP DEFAULT CURRENT\_TIMESTAMP,    UPDATE\_DATE TIMESTAMP DEFAULT CURRENT\_TIMESTAMP );
CREATE TABLE PEOPLE (  person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,  last\_name VARCHAR(255),  first\_name VARCHAR(255),  address VARCHAR(255),  city VARCHAR(255) );
![](https://static.platzi.com/media/user_upload/image-e78cc6ee-f942-4715-9989-f97c282142ef.jpg)
lo intente muchas veces, y aun no comprendo los errores, lo hice de nuevo y exactamente igual que la anterior y funcionó bien ![](https://static.platzi.com/media/user_upload/image-ea1b6b07-cddc-4743-b06d-32036b4c6844.jpg)
Les comparto el codigo que escribi para esta actividad. `CREATE TABLE people (  person_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,   last_name VARCHAR(255),  first_name VARCHAR(255),  address VARCHAR(255),  city VARCHAR(255)` `);`
![](https://static.platzi.com/media/user_upload/image-bcf09243-0d01-4104-b786-6680ae0e644f.jpg)![]() Aquí vamos!
Buenas! Generé mi codigo pero me da el siguiente error: "test\_create\_table\_outputs assert 1 == 0" A alguien más le paso? Dejo mi codigo abajo: CREATE TABLE people( person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last\_name VARCHAR(255) NULL, first\_name VARCHAR(255) NOT NULL, address VARCHAR(255) NULL, city VARCHAR(255) NULL);
Profe, no pude crear la tabla, lo intenté varias veces y sale el mismo error ![](https://static.platzi.com/media/user_upload/image-97d23121-d478-47dd-9806-a4ef1fdd9979.jpg) ![](https://static.platzi.com/media/user_upload/image-21af947e-a10e-4236-9621-2b88a5ee1cbb.jpg)
En mi caso me daba algunos errores también ya que depende en cual editor de código se este trabajando, dejo algunas notas ## 🔍 **Restricciones entre** `INT` **y** `AUTOINCREMENT` ### 1. **Bases de Datos Específicas: SQLite vs. MySQL vs. SQL Server** * **SQLite**: * En **SQLite**, cuando se quiere usar `AUTOINCREMENT`, se espera que el tipo de dato sea `INTEGER`. Además, `AUTOINCREMENT` solo puede utilizarse con una **clave primaria** (Primary Key). Es decir, si defines `person_id` como `INTEGER PRIMARY KEY AUTOINCREMENT`, se ajustará correctamente. * **Error común**: Usar `INT` en lugar de `INTEGER` en este caso podría causar un error, ya que SQLite tiene esta preferencia específica. * **MySQL**: * En **MySQL**, el tipo de dato más comúnmente utilizado para `AUTOINCREMENT` es `INT`. Aquí, `INT` se acepta sin problemas junto a `PRIMARY KEY` y `AUTO_INCREMENT` (en MySQL, la palabra clave es `AUTO_INCREMENT`, no `AUTOINCREMENT`). * **Error posible**: Si estás utilizando MySQL pero escribiste `AUTOINCREMENT` en lugar de `AUTO_INCREMENT`, podrías ver un error. * **SQL Server**: * En **SQL Server**, la forma de auto-incrementar un valor se define utilizando la propiedad `IDENTITY`, y no `AUTOINCREMENT`. Por lo tanto, un campo `INT PRIMARY KEY` puede tener `IDENTITY` especificado para que se incremente automáticamente. ### 2. **Sintaxis Correcta por Base de Datos** 🛠️ * **SQLite**:sqlCopiar código`CREATE TABLE` people ( ` person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL`, ` last_name VARCHAR(255`), ` first_name VARCHAR(255`), ` address VARCHAR(255`), ` city VARCHAR(255`) ); * En este caso, `INTEGER` es la opción correcta para el tipo de dato de `person_id`. * **MySQL**:sqlCopiar código`CREATE TABLE` people ( ` person_id INT PRIMARY KEY AUTO_INCREMENT NOT NULL`, ` last_name VARCHAR(255`), ` first_name VARCHAR(255`), ` address VARCHAR(255`), ` city VARCHAR(255`) ); * Aquí, `INT` es adecuado y se usa `AUTO_INCREMENT`. * **SQL Server**:sqlCopiar código`CREATE TABLE` people ( ` person_id INT PRIMARY KEY IDENTITY(1,1) NOT NULL`, ` last_name VARCHAR(255`), ` first_name VARCHAR(255`), ` address VARCHAR(255`), ` city VARCHAR(255`) ); * En **SQL Server**, la palabra clave `IDENTITY` reemplaza a `AUTOINCREMENT` y permite definir el incremento automático (por ejemplo, `IDENTITY(1,1)` para que empiece desde 1 y se incremente de 1 en 1). ### 3. **Posible Error en el Editor** 🛑 * Si el problema persiste incluso con la sintaxis correcta para tu sistema de gestión de bases de datos (DBMS), podría deberse a un error en el editor de código o en la configuración de la conexión a la base de datos. En ese caso, verifica: * Que la versión de tu DBMS soporte la sintaxis que estás usando. * Si hay algún problema de configuración en el editor. * Reinicia el editor o intenta ejecutar el comando desde otro cliente de SQL. ## 📌 **Resumen y Recomendación**: * **Usa** `INTEGER` **con** `AUTOINCREMENT` **en SQLite** para evitar problemas. * **Usa** `INT` **con** `AUTO_INCREMENT` **en MySQL**. * **Usa** `INT` **con** `IDENTITY` **en SQL Server**. Asegúrate de usar la sintaxis correcta según la base de datos que estés utilizando para evitar incompatibilidades. Si no estás seguro del DBMS, revisa la documentación específica de tu entorno.
## 🏗️ **Creando la tabla "people" (Explicación)** Este código crea una tabla llamada `people` en una base de datos relacional. Cada elemento de la tabla se define con sus características y restricciones. A continuación, analizaremos cada parte de la instrucción SQL: ### 💻 **Código Completo:** sql CREATE TABLE people ( person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last\_name VARCHAR(255), first\_name VARCHAR(255), address VARCHAR(255), city VARCHAR(255) ); ### 📚 **Explicación de Cada Componente:** 1. `CREATE TABLE people` 📋 * La instrucción `CREATE TABLE` se utiliza para **crear una nueva tabla** en la base de datos. * `people` es el **nombre de la tabla**. En este caso, la tabla se llamará "people" y contendrá información sobre personas. 2. `person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL` 🔑 * `person_id`: Es el **nombre de la columna** que almacenará el identificador único para cada persona. * `INTEGER`: Define que el tipo de datos de esta columna será un **número entero**. * `PRIMARY KEY`: Indica que `person_id` es la **clave primaria** de la tabla. Esto significa que cada valor en esta columna debe ser **único** y no puede repetirse, permitiendo identificar cada fila de forma exclusiva. * `AUTOINCREMENT`: Hace que cada vez que se inserte un nuevo registro en la tabla, el valor de `person_id` **aumente automáticamente** en 1. Es útil para que los valores de la clave primaria se generen de forma automática. * `NOT NULL`: Esto significa que el campo `person_id` **no puede quedar vacío**. Es obligatorio que cada registro tenga un valor en esta columna. 3. `last_name VARCHAR(255)` 📝 * `last_name`: Es el **nombre de la columna** que almacenará el apellido de la persona. * `VARCHAR(255)`: Define que esta columna puede almacenar **cadenas de texto de hasta 255 caracteres**. `VARCHAR` es un tipo de dato para **texto variable**, lo que significa que ocupa solo el espacio necesario según el número de caracteres almacenados. 4. `first_name VARCHAR(255)` 📝 * `first_name`: Es el **nombre de la columna** que almacenará el nombre de la persona. * `VARCHAR(255)`: Al igual que `last_name`, puede almacenar **texto de hasta 255 caracteres**. 5. `address VARCHAR(255)` 🏠 * `address`: Es la **columna** que contendrá la dirección de la persona. * `VARCHAR(255)`: Almacena **direcciones** en forma de texto, con un límite de 255 caracteres. 6. `city VARCHAR(255)` 🌆 * `city`: Es el **nombre de la columna** para almacenar la **ciudad** de residencia de la persona. * `VARCHAR(255)`: Permite almacenar el nombre de la ciudad como texto, con un máximo de 255 caracteres. ### 🧠 **Conceptos Clave:** * **Clave primaria (**`PRIMARY KEY`**)**: Es un identificador único para cada fila de la tabla, asegurando que no existan valores duplicados en la columna. * **Autoincremento (**`AUTOINCREMENT`**)**: Permite que los valores de la clave primaria se generen automáticamente, ideal para crear IDs secuenciales. * `VARCHAR(255)`: Este tipo de datos se usa para almacenar texto con una longitud variable, hasta un máximo de 255 caracteres. * `NOT NULL`: Asegura que el campo tenga siempre un valor (no puede quedar vacío). ### 🤔 **Posibles Mejoras:** 1. **Incluir una columna de fecha de creación:** 📅Podrías agregar una columna `created_at` para registrar cuándo se insertó cada registro:sql created\_at TIMESTAMP DEFAULT CURRENT\_TIMESTAMP 2. **Agregar restricciones de longitud a los nombres:** 🔒Si sabes que los nombres no suelen superar los 100 caracteres, podrías reducir el tamaño de `VARCHAR` para optimizar el almacenamiento:sql last\_name VARCHAR(100), first\_name VARCHAR(100) 3. **Añadir una columna de email:** 📧Si quisieras almacenar un correo electrónico para cada persona, podrías agregar una columna `email`:sql email VARCHAR(100) UNIQUE
Yo trate de colocar los nombres de las tablas en mayúscula pero daba error de esa forma, tuve que pasarlas a minúscula ![](https://static.platzi.com/media/user_upload/image-09e87df5-9c46-4978-8264-cd0be7bca2ae.jpg)
Si les aparece un `(SQL error) near ")": syntax error`, puede ser que han puesto una coma ' , ' al final del último campo y, pues si es el último, no debe llevarla.
Careful con la ultima ,CREATE TABLE people (  person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,  last\_name VARCHAR(255) NULL,  first\_name VARCHAR(255) NULL,  address VARCHAR(255) NULL,  city VARCHAR(255) NULL); ```js CREATE TABLE people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255) NULL, first_name VARCHAR(255) NULL, address VARCHAR(255) NULL, city VARCHAR(255) NULL ); ```
Estoy haciendo el curso el dia de hoy y no esta cargado el cideo de la clase
Logrado :) ![](https://static.platzi.com/media/user_upload/image-840dcb3d-12bb-4d11-859e-c7812f505f03.jpg)
Me parece que el ejercicio esta bien, pero nose si es por temas del editor, pero pide crear la sintaxis de una manera en particular para que funcione. Hice mi codigo de la siguiente manera y me arrojo error unicamente por no usar las mayusculas al momento de definir el tipo de dato CREATE TABLE people (  person\_id integer primary key autoincrement not null,  last\_name varchar(255),  fisrt\_name varchar(255),  address varchar(255),  city varchar(255) );
Ejercicio realizado ![](https://static.platzi.com/media/user_upload/image-3056c05d-28ed-4d39-bd4c-0eda59b1b9b3.jpg)
Este tipo de pruebas son buenas pero con un monitor grande me salen siempre las respuestas visibles. ojalá y se pudieran quitar.
```js CREATE TABLE people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255) , first_name VARCHAR(255), address VARCHAR(255), city VARCHAR(255) ); ```CREATE TABLE  people (  person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,   last\_name VARCHAR(255) ,  first\_name VARCHAR(255),  address VARCHAR(255),  city VARCHAR(255));
![](https://static.platzi.com/media/user_upload/image-f947952d-b424-4bc2-ade4-5d1c3cf07084.jpg)
```txt CREATE TABLE people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255), first_name VARCHAR(255), address VARCHAR(255), city VARCHAR(255) ); ```yo lo hice de esta manera, debemos tener en cuenta que aunque nos indiquen el tipo de de dato, no debemos asumir que es el que debe de ir y validar si es necesario ese u otro que realmente cumpla con la necesidad, además de ello tener en cuenta que existe una diferencia entre int e integer **Integer es una clase con un solo campo de tipo int, se usa cuando se necesite usar a int como un objeto**.
![](https://static.platzi.com/media/user_upload/image-61303d18-a6c5-48d0-b420-96fa5d5e501d.jpg)
Error de prinicipiantes: INT no es lo mismo que INTEGER. A tener en cuenta. ![](https://static.platzi.com/media/user_upload/image-8ce4e993-1571-413b-9b28-4f1857c003e3.jpg)
CREATE TABLE people( person\_id integer primary key not null, last\_name varchar(255) null, first\_name varchar(255) null, address varchar(255) null, city varchar(255) null);
Asi quedaron mi primera tabla en SQL ![](https://static.platzi.com/media/user_upload/image-368aabf8-4e5d-4349-ac41-40851a82db55.jpg)
```js CREATE TABLE COMPANY ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name varchar(155), first_name varchar (155), adress varchar (155), city varchar (155) ); ```CREATE TABLE COMPANY (  person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,  last\_name varchar(155),  first\_name varchar (155),  adress varchar (155),  city varchar (155));
1. Ojo con las mayusculas 2. INTEGER en cambio de INT. CREATE TABLE people(  person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,  last\_name VARCHAR(255),  first\_name VARCHAR(255),  address VARCHAR(255),  city VARCHAR(255));
![]()![](https://static.platzi.com/media/user_upload/image-f0379956-a0df-4f12-8c3d-51b1406ac2b8.jpg)
Parece que no es INT sino INTEGER Muy valido el aporte de limitar a 255 con VARCHAR. E importante el tema de respetar mayúsculas y minúsculas. Éxitos!
![](https://static.platzi.com/media/user_upload/image-c31fb75c-13bc-40b7-983b-74ab410dc3b8.jpg)
![](https://static.platzi.com/media/user_upload/image-2724b745-2878-47ba-bf86-b7d3e29ed0ba.jpg)
Realicé el ejercicio como lo solicitaron, sin embargo aportaría que para nombres (first\_name) y apellidos (last\_name) de personas usaría tipo de datos NVARCHAR porque existe nombres y apellidos que pueden tener caracteres especiales y/o acentos (Ramón, Andrés, Nuñez, etc) ![](https://static.platzi.com/media/user_upload/image-43dfa048-861b-4194-9ca9-fb2f36db00d2.jpg)
![](https://static.platzi.com/media/user_upload/image-0f9295a8-3438-4a45-ac1c-5020cd1668d5.jpg)
![](https://static.platzi.com/media/user_upload/image-4601e11f-968b-42e7-ad24-db9c2a60f297.jpg)logrado
Buenas a alguien le sale ese error?![](https://static.platzi.com/media/user_upload/image-65cc7f6e-e90c-4832-9838-d26e990b6644.jpg)
pense que no habia distincion entre mayusculas y minusculas, pero lo hice con mayusculas y aunque no tenía errores en la ejecución, no pase las pruebas :(
Después de crear la table, ejecute la consulta: SELECT \* FROM y el nombre de la tabla y pude visualizar la tabla, con los nombres de las campos, aqui le podríamos incluir registros. ![](https://static.platzi.com/media/user_upload/image-dab519df-a83f-420c-affb-ca4821312b00.jpg)
A continuación, mi tabla: \-- Inserta tu sentencia aquiCREATE TABLE people (  person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,  last\_name VARCHAR(255) NULL,  first\_name VARCHAR(255) NULL,  address VARCHAR(255) NULL,  city VARCHAR(255) NULL);
Los tests deberían de permitir mayúsculas y minúsculas ![](https://static.platzi.com/media/user_upload/image-169c9c54-16d7-4073-aec9-0af21d5dad86.jpg)
![](https://static.platzi.com/media/user_upload/image-0635bb7b-4fa2-45ca-8c7d-e05b0da66d48.jpg)
vamos!!! ![](https://static.platzi.com/media/user_upload/image-92dfa0c6-4f35-46ac-a97c-155a9e3dc381.jpg)
![](https://static.platzi.com/media/user_upload/image-2d2b158d-2404-42e0-8d50-ccdcb60906d5.jpg)
Me confunde cuando dice que la columna tiene que ser tipo texto y pienso en el tipo TEXT pero resulta que se tiene que usar VARCHAR e\_e
La solucion es : CREATE TABLE IF NOT EXISTS PEOPLE(person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,last\_name VARCHAR(255),first\_name VARCHAR(255),address VARCHAR(255),city VARCHAR(255));
![](https://static.platzi.com/media/user_upload/image-d8c8dfc0-793e-4a6e-afc3-8a45b371f19a.jpg)
La barra de comentarios debería estar por defecto cerrada creo...
La barra de comentarios deberían ponerme por defecto cerrada.
![](https://static.platzi.com/media/user_upload/image-76a4da64-6968-4433-bc1b-7719569ef419.jpg)
![](https://static.platzi.com/media/user_upload/image-f1bb416d-7b78-402f-8c8f-c4e0458fa0eb.jpg)
![](https://static.platzi.com/media/user_upload/image-41abf924-cd38-4815-8a8d-dc4c4f8f77c0.jpg)
![]()![](https://static.platzi.com/media/user_upload/image-2a14a513-0f27-4b37-b45e-d79bdbd86960.jpg)
```js -- Inserta tu sentencia aqui CREATE TABLE people( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255) NULL, first_name VARCHAR(255) NULL, address VARCHAR(255) NULL, city VARCHAR(255) NULL ); ```-- Inserta tu sentencia aquiCREATE TABLE people(person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,last\_name VARCHAR(255) NULL,first\_name VARCHAR(255) NULL,address VARCHAR(255) NULL,city VARCHAR(255) NULL );
![](https://static.platzi.com/media/user_upload/image-2a7c648a-29d4-4382-be60-04a82a08262f.jpg)
CREATE TABLE people (person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,last\_name VARCHAR(255) NULL,first\_name VARCHAR(255) NULL,address VARCHAR(255) NULL,city VARCHAR(255) NULL); test\_create\_table\_outputs ¡Felicidades, todas las pruebas pasaron!
```js -- Inserta tu sentencia aqui CREATE TABLE IF NOT EXISTS people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255) NULL, first_name VARCHAR(255) NULL, address VARCHAR(255) NULL, city VARCHAR(255) NULL ); ```-- Inserta tu sentencia aquiCREATE TABLE IF NOT EXISTS people (person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,last\_name VARCHAR(255) NULL,first\_name VARCHAR(255) NULL,address VARCHAR(255) NULL,city VARCHAR(255) NULL);
CREATE TABLE IF NOT EXISTS people (person\_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,last\_name VARCHAR(255) NULL,first\_name VARCHAR(255) NULL,address VARCHAR(255) NULL,city VARCHAR(255) NULL); test\_create\_table\_outputs ¡Felicidades, todas las pruebas pasaron!
![](https://platzi.com/home/clases/9873-db-sql/69943-practica-creacion-de-tablas-en-sql-create-table/)
```txt -- Inserta tu sentencia aqui CREATE TABLE people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255) NULL, first_name VARCHAR(255) NULL, address VARCHAR(255) NULL, city VARCHAR(255) NULL ); ```
Recordando Existen 2 Tipos de Entidades (Tablas) Fuertes: Sobreviven por si solas Debiles: No existen sin una entidad Fuerte. **PEOPLE** no viven sin sus **Hobbies** create table people ( person\_id INTEGER PRIMARY KEY AUTOINCREMENT not null, last\_name VARCHAR(255), first\_name VARCHAR(255), address VARCHAR(255), city VARCHAR(255) id\_hobbie INTEGER ); Ya veremos como crear tablas con Llaves Foraneas xp
Realmente, entiendo que he creado bien la tabla, pero el programa me tira error, lo mas raro fue que la "Prueba" me decía que no había creado nada. Ya dado por vencido, fui a buscar la solución, y primero veo un "if" entiendo que es una tabla que crear en base a una condición de existencia, caso que no hemos visto hasta el momento, y segundo en la solución no esta identado como lo sugiere la guía..
![](https://static.platzi.com/media/user_upload/image-7e99ff84-c9d5-4dda-aea1-a06a9d006120.jpg) ![](https://static.platzi.com/media/user_upload/image-d31e6950-8688-46c5-8401-7609256640cb.jpg)
![](</Users/urielavd/Downloads/Screenshot 2024-06-22 at 6.50.18 PM.png>)
Ahí vamos creando la Base de Datos y sus respectivas tablas
```js CREATE TABLE people( person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, last_name VARCHAR(255), first_name VARCHAR(255), address VARCHAR(255), city VARCHAR(255) ); ```El tipo de dato de la primary key debe ser INTEGER para poder usar el AUTOINCREMENT
![](https://static.platzi.com/media/user_upload/image-64658f66-c854-4d1c-9929-6af128d10f2c.jpg)
Que increible prueba, la he realizado asi: `CREATE TABLE people (` `person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,` `last_name TEXT(255),` `first_name TEXT(255),` `address TEXT(255),` `city TEXT(255)` `);`
Me aparece todo en negro, sin contenido
![]() 🙌
undefined