Creacion de Tablas y Tipos de Dato en SQL Server
Crear una Tabla
Para crear una tabla en SQL Server, se utiliza la instrucción CREATE TABLE. Esta instrucción define el nombre de la tabla y las columnas que contendrá, junto con sus tipos de datos.
Sintaxis básica:
CREATE TABLE nombre_de_tabla (
nombre_columna1 tipo_dato1 [constraints],
nombre_columna2 tipo_dato2 [constraints],
...
);
Ejemplo:
Imaginemos que queremos crear una tabla llamada Clientes
con las columnas ClienteID
, Nombre
, Email
, y FechaRegistro
:
CREATE TABLE Clientes (
ClienteID INT PRIMARY KEY,
Nombre NVARCHAR(50),
Email NVARCHAR(50),
FechaRegistro DATETIME
);
Modificar una Tabla
Para modificar una tabla existente, se utiliza la instrucción ALTER TABLE. Puedes agregar, modificar o eliminar columnas.
Agregar una columna:
ALTER TABLE nombre_de_tabla
ADD nombre_columna tipo_dato;
Ejemplo:
Agregar una columna Telefono
a la tabla Clientes
:
ALTER TABLE Clientes
ADD Telefono NVARCHAR(20);
Modificar una columna:
ALTER TABLE nombre_de_tabla
ALTER COLUMN nombre_columna tipo_dato;
Ejemplo:
Cambiar el tipo de dato de la columna Telefono
en la tabla Clientes
:
ALTER TABLE Clientes
ALTER COLUMN Telefono NVARCHAR(15);
Eliminar una columna:
ALTER TABLE nombre_de_tabla
DROP COLUMN nombre_columna;
Ejemplo:
Eliminar la columna Telefono
de la tabla Clientes
:
ALTER TABLE Clientes
DROP COLUMN Telefono;
Eliminar una Tabla
Para eliminar una tabla, se utiliza la instrucción DROP TABLE. Esto elimina la tabla y todos sus datos de la base de datos.
Sintaxis básica:
DROP TABLE nombre_de_tabla;
Ejemplo:
Eliminar la tabla Clientes
:
DROP TABLE Clientes;
Tipos de Datos en SQL Server
SQL Server soporta una amplia variedad de tipos de datos para definir las columnas de una tabla. Aquí tienes algunos de los más comunes:
Tipos de Datos Numéricos:
- INT: Números enteros de -2,147,483,648 a 2,147,483,647.
- BIGINT: Números enteros de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807.
- SMALLINT: Números enteros de -32,768 a 32,767.
- TINYINT: Números enteros de 0 a 255.
- DECIMAL(p, s): Números con decimales, donde
p
es la precisión total ys
es la cantidad de dígitos a la derecha del punto decimal. - FLOAT: Números de punto flotante con precisión aproximada.
Tipos de Datos de Texto:
- CHAR(n): Cadena de longitud fija de hasta
n
caracteres. - VARCHAR(n): Cadena de longitud variable de hasta
n
caracteres. - TEXT: Cadena de longitud variable de hasta 2GB de datos.
Tipos de Datos de Unicode:
- NCHAR(n): Cadena de longitud fija de hasta
n
caracteres Unicode. - NVARCHAR(n): Cadena de longitud variable de hasta
n
caracteres Unicode. - NTEXT: Cadena de longitud variable de hasta 2GB de datos Unicode.
Tipos de Datos de Fecha y Hora:
- DATE: Fecha (año, mes, día).
- TIME: Hora (hora, minuto, segundo, fracción de segundo).
- DATETIME: Fecha y hora combinadas.
- SMALLDATETIME: Fecha y hora combinadas con menos precisión.
- DATETIME2: Fecha y hora combinadas con mayor precisión.
- DATETIMEOFFSET: Fecha y hora combinadas con zona horaria.
Tipos de Datos de Binarios:
- BINARY(n): Datos binarios de longitud fija.
- VARBINARY(n): Datos binarios de longitud variable.
- IMAGE: Datos binarios de longitud variable de hasta 2GB.
Ejemplo Completo
Imaginemos que queremos crear una tabla llamada Productos
con las columnas ProductoID
, NombreProducto
, Precio
, y FechaIngreso
:
CREATE TABLE Productos (
ProductoID INT PRIMARY KEY,
NombreProducto NVARCHAR(100),
Precio DECIMAL(10, 2),
FechaIngreso DATETIME
);
Luego, queremos agregar una columna Stock
a la tabla Productos
:
ALTER TABLE Productos
ADD Stock INT;
Después, cambiamos el tipo de dato de la columna Stock
:
ALTER TABLE Productos
ALTER COLUMN Stock BIGINT;
Finalmente, eliminamos la tabla Productos
:
DROP TABLE Productos;
Espero que esta explicación te haya sido útil, abajo colocamos un script para que lo pegues y uses en el SQL Management Studio.
–Crear Tipo de Dato personalizado
Create Type city from nvarchar(15) not NULL;
–Borrar tipo personalizado
Drop type city
—–Crear una Tabla————–
USE VENTAS
CREATE TABLE dbo.InformacionCliente
(CodigoCliente int IDENTITY (1, 1) NOT NULL,–No nulos, int numeric o decimal
NombreCliente nvarchar(15) NOT NULL, –IDENTITYCOL
ApellidoCliente nvarcHar(20) NOT NULL,
FechaNacimiento datetime NULL,
SALARIO money,
Picture image NULL,
[igss] AS ([Salario]*0.0483)
)
–ver las dependencias de una tabla
sp_depends
——Borrar una tabla————
DROP TABLE DBO.INFORMACIONCLIENTE
——Agregar Columnas————
ALTER TABLE CategoriesNew
ADD Commission money null
—–Borrar Columnas————-
ALTER TABLE CategoriesNew
DROP COLUMN Commission
Use northwind
Select IDENT_SEED(‘orders’)–identity inicial
Select IDENT_INCR(‘orders’)–identity incremento
—averiguar valores iniciales de identity————-
USE northwind
SELECT TABLE_NAME, IDENT_SEED(TABLE_NAME) AS IDENT_SEED
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_SEED(TABLE_NAME) IS NOT NULL
—@@identity, que determina el valor de la última fila insertada en
—una columna de identidasseld durante una sesión.
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]
GO
/*SCOPE_IDENTITY devuelve el último valor de IDENTITY insertado
en una columna de identidad del mismo ámbito.
*/
–USO DE LA INSTRUCCION DBCC CHECKIDENT
–A. Restablecer el valor de identidad actual si es necesario
–En este ejemplo se restablece el valor de identidad actual, si es necesario, de la tabla jobs.
USE pubs
GO
DBCC CHECKIDENT (jobs)
GO
–B. Informar del valor de identidad actual
–En este ejemplo se informa del valor de identidad actual de la tabla jobs, y no se corrige el valor de identidad, si fuera incorrecto.
USE pubs
GO
DBCC CHECKIDENT (jobs, NORESEED)
GO
–C. Establecer el valor de identidad actual en 30
–En este ejemplo se establece el valor de identidad actual de la tabla jobs en 30.
USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO
–insertar valores —————-
INSERT informacioncliente (codigocliente,NOMBRECLIENTE,APELLIDOCLIENTE,FECHANACIMIENTO,SALARIO)
VALUES(8,’LUIS’,’GARCIA’,’1998-1-1′,8000)
–volver el identity valor explicito———
Set IDENTITY_INSERT informacionCliente On
|