sábado, 2 de noviembre de 2024

Cláusula CREATE

Se utiliza para crear diferentes objetos

CREATE [OBJETO] nombre_objeto;

Ejemplos

CREATE Database

Crea una base de datos con el siguiente comando SQL:

CREATE DATABASE Nombre_Base_Datos;

Esto crea una base de datos vacía llamada Nombre_Base_Datos donde podemos crear las tablas y el resto de objetos.

Clausula CREATE


CREATE Function 

Crea una función con el siguiente comando SQL:

CREATE Function nombre_funcion([lista_de_parametros]) RETURNS tipo_de_datos_retorno AS BEGIN cuerpo_funcion RETURN expresión_escalar END

Parámetros

Descripción de los argumentos:  nombre_funcion es el nombre de la función lista_de_parametros son los  parámetros que la función acepta;  tipo_de_datos_retorno es el tipo de dato que devuelve la función.  Cuerpo_funcion es el código de la función, y expresión_escalar es el valor escalar devuelto por la función.

Observaciones

CREATE FUNCTION crea una función definida por el usuario que se puede usar al realizar una consulta SELECT, INSERT, UPDATE o DELETE. Las funciones se pueden crear para devolver una sola variable o una sola tabla.

Ejemplos

Crear una nueva función

CREATE FUNCTION Mi_Funcion (@input varchar(1000))

RETURNS varchar(1000) AS BEGIN DECLARE @output varchar(1000)

SET @output = SUBSTRING(@input, 0, CASE CHARINDEX(' ', @input)

WHEN 0 THEN LEN(@input) + 1 ELSE CHARINDEX(' ', @input) END)

RETURN @output END

Este ejemplo crea una función llamada Mi_Funcion, que acepta un parámetro de entrada de tipo varchar y devuelve como salida otro valor varchar.

CREATE Table

La instrucción CREATE TABLE se utiliza para crear una nueva tabla en la base de datos. La definición de tabla consta de una lista de columnas, sus tipos y cualquier restricción de integridad.

Sintaxis

CREATE TABLE NombreTabla( [NombreColumna1] [tipoDato1] [, [NombreColumna1] [tipoDato2] ...])

Observaciones

Los nombres de las tablas deben ser únicos, los nombres de las columnas dentro de la misma tabla deben ser únicos.

Ejemplos

Crear una nueva tabla

Una tabla básica de Empleados, que contenga una identificación, el nombre y apellidos del empleado junto con su  número de teléfono.

CREATE TABLE Empleados(Id int identity(1,1) primary key not null,Nombre varchar(20) not null,Apellido1 varchar(20) not null,Apellido2 varchar(20) not null,NumeroTelefono varchar(10) not null);

Este ejemplo es específico de Transact-SQL, CREATE TABLE crea una nueva tabla en la base de datos, seguida del nombre de la tabla, Empleados. A esto le sigue la lista de nombres de columnas y sus propiedades, como el ID.

ID int identidad (1,1) no nulo

Significado de los valores

Id es el nombre de la primara columna (el identificador de cada empleado).

int es el tipo de datos, integer en este caso.

identity(1,1)  indica que la columna tendrá valores generados automáticamente comenzando en 1 e incrementándose en 1 para cada nuevo registro

primary key indica que es la clave principal y que todos los valores de esta columna tendrán valores únicos. 

Not null indica que esta columna no puede tener valores nulos.

Create Table a partir de una Select

Es posible que deseemos crear un duplicado de una tabla: Por ejemplo 

CREATE TABLE Empleados_Duplicado  AS SELECT * FROM Empleados;

Podemos utilizar cualquiera de las características de una instrucción SELECT para modificar los datos antes de pasarlos a nuestra nueva tabla. Las filas y columnas de la nueva tabla se crearán automáticamente según las que seleccionemos en nuestra query.

CREATE TABLE Empleados_modificado  AS SELECT Id., CONCAT(Nombre", ",Apellido1) AS Nombre_Completo FROM Empleados WHERE Id > 10;

Duplicar una tabla

Para duplicar una tabla, simplemente haremos lo siguiente:

CREATE TABLE nueva_tabla LIKE antigua_tabla;

INSERT nueva_tabla SELECT * FROM antigua_tabla;

Crear una tabla con Foreign Key

Para crear una tabla con referencia a otra, por ejemplo vamos a crear una tabla de Empleados con referencia a una tabla de Ciudades.

CREATE TABLE Ciudades(ID_Ciudad INT IDENTITY(1,1) NOT NULL,Nombre VARCHAR(20) NOT NULL,Código_postal VARCHAR(10) NOT NULL);

CREATE TABLE Empleados(ID_Empleado INT IDENTITY (1,1) NOT NULL,Nombre VARCHAR(20) NOT NULL,Apellido1 VARCHAR(20) NOT NULL,Apellido2 VARCHAR(20) NOT NULL,Num_teléfono VARCHAR(10) NOT NULL,ID_Ciudad INT FOREIGN KEY REFERENCES Ciudades (ID_Ciudad));

La columna ID_Ciudad de la tabla Empleados hará referencia a la columna ID_Ciudad de la tabla Ciudades. La línea que hace posible esto es la última, es decir esta:

ID_Ciudad INT FOREIGN KEY REFERENCES Ciudades (ID_Ciudad)

Su significado es el siguiente:

ID_Ciudad es el nombre de la columna

INT es el tipo de la de la columna FOREIGN KEY que crea la clave externa (opcional) 

REFERENCES

Ciudades (ID de ciudad) hace la referencia a la tabla Ciudades columna ID_Ciudad.

Importante: No se puede hacer referencia a una tabla que no existe en la base de datos. Hay que estar atentos a crear primero la tabla Ciudades y luego la  tabla Empleados. Si se hace al revés, dará error. 


No hay comentarios:

Publicar un comentario