Instrucción SQL Create Table: con sintaxis de ejemplo

SQL es uno de los lenguajes de consulta más fiables y sencillos que existen. Proporciona una sintaxis clara que se lee fácilmente sin abstraer demasiado del significado de la funcionalidad.

Si desea algo de historia sobre el lenguaje, así como algunos datos interesantes, consulte la parte de introducción de mi artículo de declaración de actualización de SQL.  

En este artículo, veremos las partes importantes de la creación de una tabla en SQL. Mi "sabor" preferido de SQL es SQL Server, pero la información sobre la creación de una tabla es bastante ubicua en todas las variaciones de SQL.  

Si nunca ha usado SQL o no sabe qué es una tabla, ¡no tema! Brevemente (y ampliamente), una tabla es un objeto de base de datos que contiene, o contiene, todos los datos dentro de esa parte de la base de datos. Almacena estos datos en columnas con nombre y filas numeradas, lo que no es extraño si alguna vez ha utilizado algún programa de hoja de cálculo. Cada fila representa un registro completo de la base de datos.

Si los datos estuvieran en forma de caja, entonces una tabla sería una sección de la estantería del almacén en la que almacenamos esas cajas.

Estoy simplificando enormemente la explicación y hay mucho más en las tablas SQL, pero eso está fuera del alcance de este artículo. Si está ansioso por obtener una explicación más detallada sobre las tablas, le animo a que se sumerja en la documentación de Microsoft Database Design.

Antes de aprender a crear la tabla, es importante que sepamos qué tipos de datos pueden almacenar estas columnas y filas.

Tipos de datos

Las tablas SQL pueden contener texto, números, una combinación de texto y números, así como imágenes y enlaces.

Al crear nuestra tabla, designamos el tipo de datos que contendrán sus filas y columnas. Aquí están las clasificaciones generales de datos:

  • Numéricos aproximados
  • Instrumentos de cuerda
  • Fecha y hora
  • Cadenas de caracteres Unicode
  • Números exactos
  • Otro

A continuación, enumeraré algunos de los tipos de datos más utilizados, pero si desea obtener más información sobre todos los tipos de datos, lo invito a consultar este artículo exhaustivo sobre cada tipo de Microsoft.

Estos son los tipos de datos más utilizados de mi experiencia, sin ningún orden en particular:

  • char (tamaño): cadena de longitud fija que puede contener letras, números, caracteres especiales
  • varchar (tamaño): cadena de longitud variable que puede contener letras, números y caracteres especiales
  • booleano: cero (o valores que equivalen a 0) es falso, distinto de cero es verdadero
  • int ( tamaño opcional ): un número de hasta 10 caracteres de longitud, acepta números negativos y positivos
  • bigint ( tamaño opcional ): un número de hasta 19 caracteres de longitud, acepta números negativos y positivos
  • flotador (tamaño, d) - un número con tamaño total número representado por el tamaño y el número de caracteres después de la decimal representado por la d
  • fecha: fecha en el formato AAAA-MM-DD
  • fecha y hora: fecha y hora en el formato AAAA-MM-DD hh: mm: ss
  • hora - hora en el formato hh: mm: ss

Muy bien, ahora que sabemos qué tipos de datos pueden contener las filas y columnas, ¡entremos en las partes divertidas!

Crear una tabla

Antes de comenzar, es importante tener en cuenta que proporcionaré todos mis ejemplos independientemente de cualquier programa.

Sin embargo, si desea comenzar a escribir consultas y no está seguro de por dónde empezar, eche un vistazo a SQL Server Management Studio. Es un programa robusto y gratuito que se usa y apoya ampliamente en la comunidad.

Alternativamente, hay varias opciones, incluido DB Fiddle, que le permiten crear esquemas y escribir consultas directamente en su navegador.  

Comencemos con una declaración simple para crear una tabla básica:

CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)

Hay otros parámetros que podemos agregar después del datatypepara aumentar las columnas:

  • NOT NULL- pasar este parámetro asegurará que la columna no pueda contener un NULLvalor
  • UNIQUE - pasar este parámetro evitará que la columna mantenga el mismo valor más de una vez
  • UNIQUE KEY- pasar este parámetro designará esa columna como un identificador único. Es esencialmente una combinación de los dos parámetros anteriores.

Ahora, vamos a crear una tabla (llamada doggo_info que debe adherirse a los estándares de identificación para las bases de datos) para contener información sobre los residentes de Woof Woof Retreat, una guardería ficticia para perros que acabo de pensar :)

CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )

Y aquí está la nueva tabla que acabamos de crear:

NombreColorRazaAñosPesoAlturaFav_FoodFav_ToyNo me gustaAlergias

Notará que nuestra tabla está completamente vacía y esto se debe a que aún no le hemos agregado ningún dato. Hacerlo está más allá del alcance de este artículo, pero quería que estuvieras al tanto de ese dato.

Crear una tabla a partir de una tabla existente

También es posible crear una nueva tabla basada en una tabla existente.

Es bastante fácil y no requiere mucha más sintaxis. Necesitamos seleccionar la tabla y las columnas para "copiar" de:

CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist

Entonces, por conveniencia, agregué algunos datos a nuestra doggo_infotabla y ahora se ve como el siguiente ejemplo:

NombreColorRazaAñosPesoAlturaFav_FoodFav_ToyNo me gustaAlergias
margaritarojoperro salchicha estándar1146croquetas con sabor a salmónpelota chirriantepájaros volando sobre el patiogatos, baños, limpieza
jefenegro / tostadorottweiler34117literalmente cualquier cosatirón de cuerdamantenerse fuera del sofáescuchar, comportarse, no babear en todo
sammiemiel ligeragolden retriever94619croquetas con sabor a carnesu camacachorros traviesosninguno conocido

Ahora podemos crear otra tabla basada en los datos que tenemos en nuestra doggo_infotabla ejecutando la siguiente consulta:

CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4

Queremos crear una nueva tabla con todas las columnas de la doggo_infotabla, pero solo donde Agesea ​​menor que 4. Después de ejecutar esta consulta, nuestra nueva tabla se verá así:

NombreColorRazaAñosPesoAlturaFav_FoodFav_ToyNo me gustaAlergias
margaritarojoperro salchicha estándar1146croquetas con sabor a salmónpelota chirriantepájaros volando sobre el patiogatos, baños, limpieza
jefenegro / tostadorottweiler34117literalmente cualquier cosatirón de cuerdamantenerse fuera del sofáescuchar, comportarse, no babear en todo

Espero que pueda ver cuán poderosa puede ser esta declaración. Con algunas líneas en nuestra consulta, básicamente hemos copiado datos de una tabla a otra, pero solo las filas que queríamos.  

Esta no es solo una herramienta útil para tener en su cinturón de herramientas de desarrollador, sino que le ahorrará una cantidad incalculable de tiempo cuando necesite mover datos entre tablas.

Terminando

Ahora que sabe cómo crear (o copiar) una tabla en SQL sin importar la situación que se le presente, ¡puede comenzar a llenar las columnas y filas con datos para almacenar!

La CREATE TABLEdeclaración es extremadamente útil y poderosa. Estás listo para empezar a darle un buen uso.

Si este artículo le resultó útil, consulte mi blog, donde con frecuencia publico artículos sobre desarrollo web, vida y aprendizaje.

Mientras estás allí, ¿por qué no te suscribes a mi boletín? Puede hacerlo en la parte superior derecha de la página principal del blog. Me gusta enviar artículos interesantes (míos y otros), recursos y herramientas para desarrolladores de vez en cuando.

Si tiene preguntas sobre este artículo o simplemente hágamelo saber: venga a saludar en Twitter o en cualquiera de mis otras cuentas de redes sociales que puede encontrar debajo del boletín de noticias, regístrese en la página principal de mi blog o en mi perfil aquí en fCC :)

¡Que tengas un día increíble! ¡Feliz aprendizaje y feliz codificación, amigo!