Crear una tabla de SQL Server mediante script

Crear una tabla de SQL Server mediante script

Compartir

Descubre como crear una tabla de SQL Server mediante script para no tener que realizarlo desde la interfaz gráfica de la consola de administración de SQL Server Management Studio.

En ocasiones podemos necesitar hacer despliegues de bases de datos o despliegues de nuevas tablas en nuestro Sistema Gestor de Bases de Datos SQL Server, y realizarlo de manera manual, a través de la interfaz gráfica puede ser un verdadero tormento. Por este motivo, vamos a ver como realizar esta tarea de una manera mucho más lógica y cómoda, mediante la introducción de comandos de Transact-SQL.

Este tutorial no pretende ser una guía completa de Transact-SQL ni de ANSI SQL por lo que no vamos a entrar en grandes detalles de sintaxis o en los cientos de opciones que tenemos cuando hablamos de creación de tablas o cualquier elemento de SQL. Por ello, al final del tutorial dejaremos un par de enlaces que complementan la información que facilitamos aquí.

 

¿Cómo crear una tabla de SQL Server mediante script?

 

Pre-requisitos o pre-configuración.

Para completar de forma satisfactoria este tutorial y poder crear una tabla mediante un script dentro de nuestro servidor SQL Server de Jotelulu se necesitará:

  • Por un lado, estar dado de alta en la Plataforma Jotelulu con una organización y estar registrado en la misma tras hacer Log-in.
  • Por otro lado, haber dado de alta una suscripción de Servidores 
  • Tener un servidor Windows operativo dentro de la suscripción y con un SQL Server instalado.

 

Paso 1. Creación del código a ejecutar

Lo primero que debemos hacer es entender un poco la forma en que tenemos que conectarnos, manipular datos, etc. dentro de SQL Server, pero tal como comentábamos previamente, sin entrar en ella en detalle.

Para realizar la conexión a la base de datos se deberá usar el comando “USE <NOMBRE_BBDD> donde <NOMBRE_BBDD> es el nombre de la base de datos a la que se quiere conectar y donde se creará la tabla que introduciremos a continuación.

A continuación, se deberá introducir las órdenes para la creación de la tabla, que tiene una sintaxis bastante sencilla:

CREATE TABLE <NOMBRE_TABLA> 

)

Donde <NOMBRE_TABLA> se refiere al nombre que le daremos a la tabla durante la creación y que se usará posteriormente para referenciar a dicha tabla.

Dentro de la tabla, como no puede ser de otra manera, tendremos filas y columnas, las columnas compondrán los campos de la tabla, mientras que las filas se referirán a las distintas entradas de artículos o elementos de la tabla.

A la hora de definir los campos (columnas) deberemos tener en cuenta al menos dos elementos, el nombre del elemento y el tipo de dato almacenado.

Sobre el nombre no hay mucho que añadir, solo decir que debería ser lo mas descriptivo posible para evitar que rellenar la tabla sea confuso, pero a la hora de hablar de los tipos de datos podemos extendernos un poquito más, diciendo que tenemos los siguientes tipos (se presentan ordenados por tipos y dentro de estos tipos alfabéticamente, no por su uso o importancia):

Numéricos exactos:

  • bigint
  • bit
  • decimal
  • int
  • money
  • numeric
  • smallint
  • smallmoney
  • tinyint

Numéricos aproximados:

  • float
  • real

Fecha y hora:

  • date
  • datetime
  • datetime2
  • datetimeoffset
  • smalldatetime
  • time

Cadenas de caracteres:

  • char
  • text
  • varchar

Cadenas de caracteres Unicode:

  • nchar
  • ntext
  • nvarchar

Cadenas binarias:

  • binary
  • image
  • varbinary

Siendo muy usual que terminemos trabajando con un número limitado de tipos, como, por ejemplo: decimal, int, float, real, date, char, varchar, binary.

Además, hay otros puntos a tener en cuenta, como por ejemplo si vamos a permitir que cuando se rellenen los campos de la tabla no se cumplimente algún campo, o por el contrario se hace obligatorio que se cumplimenten todos los campos. Para forzar a cumplimentar un campo se tiene que añadir “NOT NULL” tras el tipo.

También se puede declarar si una columna es clave primaria (PRIMARY KEY), si debe tener un valor único (UNIQUE), etc. Aunque por el momento trabajaremos con lo básico, que es declarar el tipo y si se permiten valores nulos.

El ejemplo que vamos a realizar se trata de crear una tabla de Usuario en el que se describen los siguientes campos:

  • DNI: es un entero (int) que no puede dejarse en blanco (NOT NULL).
  • Nombre: Es una cadena de caracteres de hasta 128 caracteres (varchar(128)) que no puede dejarse en blanco (NOT NULL).
  • Apellidos: Es una cadena de caracteres de hasta 128 caracteres (varchar(128)) que no puede dejarse en blanco (NOT NULL).
  • Sexo: Es una cadena de caracteres de hasta 20 caracteres (varchar(20)) que no puede dejarse en blanco (NOT NULL).
  • Edad: Es un número (smallint) y puede quedar vacío.   
  • Nacimiento: Es una fecha (datetime) y puede quedar vacía. 
  • Teléfono: Es un enterio (int) que puede quedar vacío (NULL).
  • Correo: Es una cadena de caracteres de hasta 128 caracteres (varchar(128)) que puede dejarse en blanco (NULL).

La declaración de SQL quedaría de la siguiente manera:

CREATE TABLE dbo.Usuario 

    DNI int NOT NULL 
    ,Nombre varchar(128) NOT NULL 
    ,Apellidos varchar(128) NOT NULL 
    ,Sexo varchar(20)
    ,Edad smallint 
    ,Nacimiento datetime 
    ,Telefono int
    ,Correo varchar(128) 
);

Y añadiéndole la asignación de la base de datos donde se ha de crear la tabla porque si no lo hace sobre una base de datos del sistema, y en caso de ser necesario, podemos añadir la creación de la base de datos con el comando “CREATE DATABASE”. Además, se deberá incluir después de comando, la sentencia “GO” para que lance cada comando por separado y no espere hasta el final, porque si no lo hacemos de este modo, cuando vaya a intentar usar la tabla, aun no se habrá creado y dará un fallo.

De esta manera, podríamos lanzar la siguiente secuencia:

CREATE DATABASE Clientes;

GO

USE Clientes;
GO   

CREATE TABLE dbo.Usuario 

    DNI int NOT NULL 
    ,Nombre varchar(128) NOT NULL 
    ,Apellidos varchar(128) NOT NULL 
    ,Sexo varchar(20)
    ,Edad smallint 
    ,Nacimiento datetime 
    ,Telefono int
    ,Correo varchar(128) 
);

Y con esto ya tenemos la definición. 

 

Paso 2. Lanzar nuestro código en la base de datos

Ahora que ya tenemos claro lo que se va a ejecutar, vamos a hacer el proceso para lanzarlo desde el SSMS (SQL Server Management Studio). Esto nos servirá para hacer el despliegue real de la nueva tabla (y base de datos si hace falta).

Lo primero que tendremos que hacer es acceder a la consola de SSMS, validándonos frente a la instancia donde se va a trabajar, que por lo general será la instancia por defecto, si no la hemos cambiado.

Una vez dentro de SSMS, se debe hacer clic en “New Query” (1).

Paso 1. Abrimos una nueva query para poder copiar nuestro código de creación de la tabla SQL

Paso 1. Abrimos una nueva query para poder copiar nuestro código de creación de la tabla SQL

En el momento en el que tenemos la ventana preparada, se debe pegar el códigoque se ha creado anteriormente (2), comprobando que no se han introducido caracteres raros ni espacios, ya que esto puede suceder al pegarlo desde algunos editores.

Una vez pegado, se debe hacer clic en “Execute” (3) para que se ejecute y se hagan los cambios pertinentes. Cuando se lance la ejecución se podrán ver distintos mensajes (4) que se irán actualizando sobre la marcha, aunque suelen ser ejecuciones muy rápidas. Cuando se hayan hecho los cambios, y si todo ha ido bien, se podrán ver un mensaje de “Query executed succesfully” (5). Si hubiera problemas, se podrán ver en los espacios de mensajes (4) y (5).

Introducimos el código de creación de la tabla, lanzamos la ejecución y comprobamos si ha ido todo bien

Introducimos el código de creación de la tabla, lanzamos la ejecución y comprobamos si ha ido todo bien

Una vez hechos estos cambios, se podrá ir al “Explorador de objetos” (6) para comprobar si se han creado los elementos que hemos lanzado mediante nuestro código. Para ello, es posible que sea necesario desplegar “Databases” hasta encontrar la base de datos que hemos creado, que en nuestro caso es “Clientes” y una vez dentro de la base de datos, desplegar “Tables” para ver las tablas que hemos creado.

En caso de no encontrar los elementos que hemos creado, es posible que se necesita hacer clic en “Refrescar” (7) para que se actualice la vista. Si tras hacer clic en este botón no se actualiza, se podrá cerrar la ventana de SSMS volviendo a entrar para ver los cambios. Como muchos ya sabemos, la falta de actualización de las consolas gráficas de Microsoft es un fallo bastante común.

Comprobamos el contenido del explorador de objetos para ver si se ha creado correctamente la tabla

Comprobamos el contenido del explorador de objetos para ver si se ha creado correctamente la tabla

NOTA:  Cuando se lancen los comandos, es posible que se informe que se ha ejecutado correctamente pero que no se muestren los cambios en pantalla. Para que los cambios sean revelados en pantalla, normalmente se tiene que hacer clic en “Actualizar”, pero si aun así no se muestran, saliendo de SSMS y volviendo a entrar en la consola se debería subsanar el problema.

En caso de querer profundizar más, ampliar información, o simplemente ver ejemplos de creación de tablas mediante el uso de CREATE TABLE se puede acceder a la página de documentación de Microsoft sobre CREATE TABLE (Transact-SQL) – SQL Server

Para profundizar más en el uso de Transact-SQL se puede acceder a la página de documentación de Microsoft a través del siguiente enlace Referencia de Transact-SQL (motor de base de datos).

 

Conclusiones y próximos pasos:

El proceso descrito en este tutorial permite crear tablas e incluso bases de datos de manera rápida mediante código dentro de tus servidores SQL Server en Jotelulu.

Esperamos que, con esta pequeña guía, no tengas problemas en el despliegue de tablas en SQL Server, pero si los tuvieras, no dudes en contactar con nosotros para que podamos echarte una mano.

¡Gracias por tu confianza!

Categorías:Cloud y sistemas

Bases de datos SQL Server Transact-SQL

Otros posts que te pueden interesar

23 de abril de 2024
Acompáñanos en este artículo en el que trataremos de ver cómo evaluar riesgos y amenazas en la pyme. Uno
20 de febrero de 2024
Acompáñanos en este artículo en el que trataremos uno de esos “pains” a los que se enfrenta toda pyme,
15 de febrero de 2024
Acompáñanos y descubre qué es y por qué necesitamos Disaster Recovery. La creciente dependencia de todas las organizaciones de

Rellena el formulario y nuestro equipo de Sales contactará contigo lo antes posible.

growth@jotelulu.com  |  +34 911 333 712  |  jotelulu.com 

Puedes darte de baja de estas comunicaciones en cualquier momento.  Consulta nuestra Política de privacidad.