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.
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.