Icono de microsoft
Microsoft

Plataforma de Datos

Probar SQL Server 2022

Documentación de SQL Server

Documentación de Microsoft SQL Server

SQL Server

Bases de datos

Crear bases de datos

Para crear su base de datos, tiene que crear una nueva query, para esto debe de seleccionar el botón que dice “New Query” en su área de trabajo.

Ejemplo de tabla SQL (autos)

Después aparecerá su consulta, que le permitirá escribir código para crear su base de datos.

Ejemplo de tabla SQL (autos)

Y una vez ahí puede empezar a escribir su código para crear una base de datos, para lo cual deberá escribir

-- El nombre debe ir sin espacios ni caracteres especiales
CREATE DATABASE nombre

y después para ejecutar debe de seleccionar el código que desea ejecutar y darle clic a “Execute”, más abajo le dará los resultados de su ejecución.

ejemplo para ejecutar consulta

Eliminar bases de datos

Recuerda que este proceso es irreversible, así que asegúrate de hacer copias de seguridad de cualquier dato importante antes de proceder.

1. Buscar la base de datos en el Explorador de objetos

En el Explorador de Objetos, expanda la carpeta "Bases de datos" (Databases) para ver todas las bases de datos disponibles.

Buscar base de datos en el explorador de archivos de SQL Server
2. Encuentre la base de datos que deseas eliminar. Haz clic derecho sobre ella.
3. Selecciona la opción "Eliminar" (Delete) en el menú contextual.
Confirmar existencia de base de datos
4. Confirmar Eliminación

Aparecerá un cuadro de diálogo de confirmación. Asegúrate de que la casilla "Cerrar conexiones existentes" (Close existing connections) esté marcada si quieres cerrar todas las conexiones activas a la base de datos antes de eliminarla. Luego, haz clic en "Aceptar" (OK) para confirmar la eliminación.

Confirmar eliminación de base de datos

Consultas en SQL Server

¿Qué es una consulta?

Las consultas en SQL Server son instrucciones escritas en SQL o T-SQL que permiten recuperar datos de una base de datos. Estas pueden ser simples, solicitando datos de una sola tabla, o complejas, involucrando múltiples tablas, funciones, y lógica condicional para obtener información específica.

¿Cómo funciona una consulta en SQL Server?

Una consulta funciona enviando una instrucción SQL al servidor de base de datos, donde el motor de SQL procesa esta instrucción. El proceso generalmente implica analizar la consulta para entender la solicitud, planificar la mejor manera de obtener los datos (optimización de la consulta), ejecutar el plan accediendo a las tablas y datos necesarios, y finalmente, retornar los resultados al usuario o aplicación que hizo la solicitud.

¿Para qué sirve una consulta en SQL Server?

Una consulta en SQL sirve para interactuar con la base de datos y realizar operaciones como seleccionar (recuperar), insertar, actualizar, y eliminar datos. Permite a los usuarios y aplicaciones obtener información específica de la base de datos, modificar los datos almacenados, y gestionar la estructura de la base de datos en sí

Tipos de consulta

DDL (Data Definition Language)

Instrucciones que definen la estructura de la base de datos, como tablas y relaciones. Verbos básicos incluyen CREATE (crear), ALTER (modificar), DROP (eliminar)

Consulta Descripción
CREATE Se utiliza para crear objetos en la base de datos, como tablas, vistas, índices, etc
ALTER Modifica la estructura de un objeto existente en la base de datos
DROP Elimina objetos de la base de datos
TRUNCATE Elimina todos los registros de una tabla, pero mantiene la estructura de la tabla.

DML (Data Manipulation Language)

Instrucciones que permiten manipular los datos almacenados en la base de datos. Verbos básicos incluyen SELECT (seleccionar), INSERT (insertar), UPDATE (actualizar), DELETE (eliminar)

Consulta Descripción
SELECT Recupera datos de una o más tablas
INSERT Añade nuevos registros a una tabla
UPDATE Modifica datos existentes en una tabla
DELETE Elimina registros de una tabla

Tablas

Piensa en una tabla como una hoja de cálculo de Excel. Cada tabla almacena datos relacionados en filas y columnas. Por ejemplo, podrías tener una tabla llamada Clientes donde cada fila representa un cliente y cada columna representa información sobre ese cliente (como nombre, apellido, email, etc.).

Filas

Cada fila en una tabla es un registro individual. En la tabla Clientes, cada fila podría representar a un cliente específico.

Columnas

Cada columna representa un tipo de dato. En la tabla Clientes, podrías tener columnas para ID, Nombre, Apellido, y Email.

Ejemplo de tabla SQL (autos)

Crear Tabla

Para crear una tabla utilizamos el comando CREATE TABLE junto al nombre que tendrá la tabla y sus campos los cuales se pueden ver en los tipos de datos

-- CREATE TABLE, Crea una tabla llamada clientes
CREATE TABLE Clientes (
    ID INT PRIMARY KEY,
    Nombre VARCHAR(50),
    Apellido VARCHAR(50),
    Email VARCHAR(100)
);

Eliminar Tabla

Para eliminar una tabla utilizamos el comando DROP TABLE junto al nombre de la tabla

--DROP, Elimina la tabla Clientes:
DROP TABLE Clientes;

Alterar Tabla

Para alterar una tabla utilizamos el comando ALTER TABLE junto al nombre de la tabla y sus campos los cuales se pueden ver en los tipos de datos

--ALTER, Añade una columna FechaNacimiento a la tabla Clientes:
ALTER TABLE Clientes
ADD FechaNacimiento DATE;

Queries

Insertar Datos

Para insertar datos utilizamos el comando INSERT INTO junto al nombre de la tabla y sus campos los cuales se pueden ver en los tipos de datos

--INSERT, Inserta un nuevo registro en la tabla Clientes:
INSERT INTO Clientes (ID, Nombre, Apellido, Email) 
VALUES (1, 'Juan', 'Pérez', 'juan.perez@example.com');

Leer Datos

Para leer datos utilizamos el comando SELECT junto al nombre de la tabla y sus campos los cuales se pueden ver en los tipos de datos

--SELECT, Selecciona todos los registros de la tabla Clientes:
SELECT * FROM Clientes;

Actualizar Datos

Para actualizar datos utilizamos el comando UPDATE junto al nombre de la tabla y sus campos los cuales se pueden ver en los tipos de datos

--UPDATE, Actualiza el correo electrónico de un cliente en la tabla Clientes:
UPDATE Clientes
SET Email = 'juan.perez123@example.com'
WHERE ID = 1;

Eliminar Datos

Para eliminar datos utilizamos el comando DELETE junto al nombre de la tabla y sus campos los cuales se pueden ver en los tipos de datos

--DELETE, Elimina un registro de la tabla Clientes:
DELETE FROM Clientes
WHERE ID = 1;

Tipos de datos

Cada columna en una tabla debe tener un tipo de dato que define qué tipo de información puede almacenar.

Tipos Numericos Descripción
int (Entero) Utilizado para almacenar números enteros. Es de 4 bytes y su rango es de -2.147.483.648 hasta 2.147.483.647.
smallint (Entero) Similar a int, pero ocupa 2 bytes. Su rango es de -32,768 a 32,767
tinyint (Entero) Un entero pequeño sin signo que ocupa solo 1 byte, con un rango de 0 a 255
bigint (Entero) Un entero grande que ocupa 8 bytes. Tiene un rango de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807
float (Decimal) Utilizado para números de punto flotante. Ejemplo : 3.14159...
decimal y numeric (Decimal) Son números decimales con precisión y escala definidas por el usuario. Por ejemplo, decimal(5,2) almacena números con hasta 5 dígitos en total, de los cuales 2 son decimales
money Almacena valores monetarios con precisión fija y tiene un rango de -922,337,203,685,477.5808 a 922,337,203,685,477.5807
smallmoney Similar a money, pero con un rango más pequeño y menos precisión
Tipos para Cadenas de Texto Descripción
char(n) Una cadena de caracteres de longitud fija que ocupa n bytes. Si la cadena es más corta que n, se llena con espacios
varchar(n) Una cadena de caracteres de longitud variable que ocupa hasta n bytes. Solo ocupa el espacio necesario para los datos que almacena
text Una cadena de caracteres de longitud variable que puede contener hasta 2^31-1 caracteres
nchar(n) Similar a char, pero almacena datos Unicode, lo que permite una mayor variedad de caracteres y lenguajes
nvarchar(n) Similar a varchar, pero almacena datos Unicode
ntext Similar a text, pero almacena datos Unicode
Tipos para Fechas Descripción
datetime Almacena fecha y hora desde el 1 de enero de 1753 hasta el 31 de diciembre de 9999, con una precisión de 3.33 ms
datetime2 Similar a datetime, pero con mayor precisión y un rango más amplio (1 de enero del año 1 hasta el 31 de diciembre de 9999)
smalldatetime Almacena fecha y hora desde el 1 de enero de 1900 hasta el 6 de junio de 2079, con una precisión de 1 minuto
date Solo almacena la fecha, desde el 1 de enero del año 1 hasta el 31 de diciembre de 9999
time Solo almacena la hora, con una precisión de hasta 100 nanosegundos
datetimeoffset Similar a datetime2, pero incluye información sobre la zona horaria
Tipos Binarios Descripción
binary(n) Almacena datos binarios de longitud fija de n bytes
varbinary(n) Almacena datos binarios de longitud variable de hasta n bytes
image Almacena datos binarios de longitud variable de hasta 2^31-1 bytes. Este tipo se está eliminando en favor de varbinary(max)

Claves

Claves primarias

La clave primaria es un campo en una tabla que se utiliza para identificar de manera única cada fila de esa tabla. No puede contener valores nulos y cada valor debe ser único. Por ejemplo, en la tabla Clientes, el ID podría ser la clave primaria, asegurando que cada cliente tenga un ID único.

CREATE TABLE Clientes (
    ID INT PRIMARY KEY,
    Nombre VARCHAR(50),
    Apellido VARCHAR(50),
    Email VARCHAR(100)
);

Aquí, el campo ID es la clave prima tabla, estableciendo una relación entre ambas.

Por ejemplo, podrías tener una tabla Pedidos donde cada pedido está asociado a un cliente en la tabla Clientes. La columna ClienteID en la tabaria. Esto significa que cada cliente tendrá un ID único, y no puede haber dos clientes con el mismo ID.

Claves foraneas

La clave foránea es un campo en una tabla que crea un vínculo entre los datos de dos tablas. Esencialmente, hace referencia a la clave primaria de otrla Pedidos sería una clave foránea que referencia al ID en la tabla Clientes.

CREATE TABLE Pedidos (
    PedidoID INT PRIMARY KEY,
    ClienteID INT,
    Fecha DATE,
    FOREIGN KEY (ClienteID) REFERENCES Clientes(ID)
);

Aquí, el campo ClienteID en la tabla Pedidos es una clave foránea que hace referencia al campo ID en la tabla Clientes. Esto significa que cada pedido está asociado a un cliente específico.