En el mercado actual, donde se genera una enorme cantidad de datos todos los días, es muy importante comprender cómo manejar los datos. SQL Server es un entorno integrado desarrollado por Microsoft para manejar datos.En este artículo sobre el tutorial de SQL Server, aprenderá todas las operaciones y comandos que necesita para explorar sus bases de datos.
Para su mejor comprensión, he dividido el blog en las siguientes categorías:
Comandos | Descripción |
Este conjunto de comandos se utiliza para definir una base de datos. | |
Comandos de lenguaje de manipulación de datos (DML) | Los comandos de manipulación se utilizan para manipular los datos presentes en la base de datos. |
Este conjunto de comandos se ocupa de los permisos, derechos y otros controles de los sistemas de bases de datos. | |
Estos comandos se utilizan para ocuparse de la transacción de la base de datos. |
Además de los comandos, en este artículo se tratan los siguientes temas:
- ¿Qué es SQL Server?
- Instalar SQL Server
- Conéctese a SQL Server usando SSMS
- Acceder al motor de base de datos
- Arquitectura de SQL Server
- Comentarios en SQL
- Tipos de datos de SQL Server
- Claves en la base de datos
- Restricciones en la base de datos
- Operadores
- Funciones agregadas
- Funciones definidas por el usuario
- Consultas anidadas
- Uniones
- Bucles
- Procedimientos almacenados
- Manejo de excepciones
***NOTA*** En este tutorial de SQL Server, consideraré la siguiente base de datos comoun ejemplo, para mostrarte cómo aprender y escribircomandos.
Identificación del Estudiante | Nombre del estudiante | Nombre del padre | Número de teléfono | Habla a | Ciudad | País |
1 | odio | Akriti mehra | 9955339966 | Bloque de carreteras de la brigada 9 | Hyderabad | India |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Calcuta | India |
3 | Anay | Soumya Mishra | 9876914261 | Casa Marathalli No 101 | Bangalore | India |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | India |
5 | Shanaya | Abhinay agarwal | 9878969068 | Calle Oberoi 21 | Mumbai | India |
Antes de comenzar a comprender los diferentes comandos utilizados en SQL Server, comprendamos qué es SQL Server, su arquitectura y cómo instalarlo.
¿Qué es SQL Server?
Microsoft SQL Server es un relacional sistema de administración de base de datos . Es compatible con Lenguaje de consulta estructurado y viene con su propia implementación del lenguaje SQL, que es el Transact-SQL (T-SQL) . Tiene un entorno integrado para manejar bases de datos SQL, que es el .
Los componentes clave de SQL Server son los siguientes:
- Motor de base de datos: Este componente maneja el almacenamiento, el procesamiento rápido de transacciones y la protección de datos.
- Servidor SQL - Este servicio se utiliza para iniciar, detener, pausar y continuar la instancia de MS SQL Server.
- Agente SQL Server - El servicio del Agente de servidor desempeña el papel de programador de tareas y se activa por cualquier evento o según el requisito.
- Explorador de SQL Server - Este servicio se utiliza para conectar la solicitud entrante a la instancia de SQL Server deseada.
- Búsqueda de texto completo de SQL Server - Se utiliza para permitir que el usuario ejecute consultas de texto completo con los datos de caracteres en tablas SQL.
- Escritor de VSS de SQL Server – Permite copias de seguridad y restauración de archivos de datos cuando SQL Server no se ejecuta.
- Servicios de análisis de SQL Server (SSAS) - Este servicio se utiliza para proporcionar análisis de datos, minería de datos y Capacidades SQL Server también está integrado con y R para análisis de datos avanzados.
- Servicios de informes de SQL Server (SSRS) - Como su nombre indica, este servicio se utiliza para proporcionar funciones y capacidades de toma de decisiones, incluida la integración con .
- Servicios de integración de SQL Server (SSIS) – Este servicio se utiliza para realizar operaciones ETL para diferentes tipos de datos de múltiples fuentes de datos.
Ahora que sabe qué es MS SQL Server, avancemos en este artículo sobre el tutorial de SQL Server y entendamos cómo instalar y configurar SQL Server.
Instalar SQL Server
Siga los pasos a continuación para instalar SQL Server:
Paso 1: Ir a la página oficial de Descarga de Microsoft SQL Server , donde encontrará la opción de instalar SQL Server en las instalaciones o en la nube.
Paso 2: Ahora, desplácese hacia abajo y verá dos opciones: Edición para desarrolladores y empresas . Aquí, descargaré el Edición para desarrolladores . Para descargar, solo tienes que hacer clic en el Descargar ahora opción. Consulte a continuación.
Paso 3: Una vez descargada la aplicación, haga doble clic en el archivo y verá la siguiente ventana.
Etapa 4: Ahora, puede elegir cualquiera de las 3 opciones para configurar SQL Server. Aquí, solo elegiré el Opcion basica . Al seleccionar la opción de tipo de instalación, la siguiente pantalla sería aceptar el contrato de licencia. Para hacer eso, haga clic en Aceptar en la siguiente ventana.
Paso 5: A continuación, debe especificar la ubicación de instalación de SQL Server. Luego, debes hacer clic en Instalar.
Una vez que haces clic en Instalar en pc , verá que se están descargando los paquetes necesarios. Ahora, una vez completada la instalación, verá la siguiente pantalla:
Aquí, puede seguir adelante y hacer clic en Conectar ahora, o puede personalizar la instalación. Para su mejor comprensión, seguiré adelante y elegiré Personalizar.
Paso 6: Una vez que haces clic en Personalizar en la ventana anterior, verá que se abre el siguiente asistente. en la siguiente ventana, haga clic en Siguiente.
Paso 7: Después de que las reglas se instalen automáticamente, haga clic en Siguiente . Consulte a continuación.
Paso 8: A continuación, debe elegir el tipo de instalación. Entonces, elija el Realizar una nueva instalación de SQL Server 2017 opción y luego haga clic en Siguiente.
Paso 9: En el asistente que se abre, elija la edición: Desarrollador. Luego, haga clic en Siguiente . Consulte a continuación.
Paso 10: Ahora, lea y acepte los acuerdos de licencia marcando el botón de opción y luego haga clic en Siguiente . Consulte a continuación.
Paso 11: En el siguiente asistente, puede elegir las funciones que desea instalar. Además, puede elegir el directorio raíz de la instancia y luego hacer clic en Siguiente . Aquí, elegiré el Servicios de motor de base de datos .
Paso 12: A continuación, debe nombrar la instancia y automáticamente se creará el ID de la instancia. Aquí, nombraré la instancia “edureka”. Luego, haga clic en Siguiente.
Paso 13: En el asistente de configuración del servidor, haga clic en Siguiente .
Paso 14: Ahora, debe habilitar los modos de autenticación. Aquí, verá el Modo de autenticación de Windows y Modo mezclado . Elegiré el modo mixto. Luego, mencione la contraseña y luego agregaré el usuario actual como Administración eligiendo el Agregar usuario actual opción.
Paso 15: Luego, elija la ruta del archivo de configuración y haga clic en Instalar en pc .
Una vez completada la instalación, verá la siguiente pantalla:
Conéctese a SQL Server usando SSMS
Después de instalar SQL Server, el siguiente paso es conectar SQL Server a SQL Server Management Studio. Para hacer eso, siga los pasos a continuación:
Paso 1: Regrese a la siguiente ventana y haga clic en el instalar SSMS opción.
Paso 2: Una vez que haga clic en esa opción, será redirigido a la página siguiente , donde tienes que elegir Descarga SSMS.
Paso 3: Una vez que se haya descargado la configuración, haga doble clic en la aplicación y verá que se abre el siguiente asistente.
Etapa 4: Haga clic en Opción de instalación , en la ventana de arriba y verá que la instalación comenzará.
Paso 5: Una vez completada la instalación, aparecerá un cuadro de diálogo como se muestra a continuación.
Después de instalar el SSMS, el siguiente paso es acceder al Motor de base de datos .
Acceso al motor de base de datos
Cuando abres el Estudio de administración de servidores SQL desde el menu de inicio , se abrirá una ventana similar a la que se muestra en la imagen siguiente.
Aquí, mencione el nombre del servidor, el modo de autenticación y haga clic en Conectar.
Después de hacer clic en Conectar , Verá la siguiente pantalla.
Bueno amigos, así es como instalan y configuran SQL Server. Ahora, avanzando en este tutorial de SQL Server, comprendamos los diferentes componentes de la arquitectura de SQL Server.
Arquitectura de SQL Server
La arquitectura de SQL Server es la siguiente:
- Servidor & menos Aquí es donde se instalan los servicios SQL y reside la base de datos
- Motor relacional & minus Contiene el analizador de consultas, el optimizador y el ejecutor y la ejecución ocurre en el motor relacional.
- Analizador de comandos & minus Comprueba la sintaxis de la consulta y la convierte a lenguaje de máquina.
- Optimizador & minus Prepara el plan de ejecución como salida tomando estadísticas, consultas y árbol de Algebrator como entrada.
- Ejecutor de consultas & menos Este es el lugar donde las consultas se ejecutan paso a paso
- Motor de almacenamiento & menos Esto es responsable del almacenamiento y recuperación de datos en el sistema de almacenamiento, manipulación de datos, administración y bloqueo de transacciones.
Ahora que sabe cómo configurar e instalar SQL Server y sus diversos componentes, comencemos a escribir Servidor. Pero, antes de eso, permítanme cubrir cómo escribir comentarios en SQL Server.
Comentarios en SQL Server
Hay dos formas en las que puede comentar en SQL, es decir, utilice el s comentarios de una sola línea o el metro comentarios de última línea .
Comentarios de una sola línea
Los comentarios de una sola línea comienzan con dos guiones (-). Por lo tanto, el compilador ignorará el texto mencionado después de (-) hasta el final de una sola línea.
Ejemplo:
--Ejemplo de comentarios de una sola línea
Comentarios de varias líneas
Los comentarios de varias líneas comienzan con / * y terminan con */ . De ahí que el texto mencionado entre /* y */ será ignorado por el compilador.
Ejemplo:
/ * Ejemplo de comentarios de varias líneas * /
Ahora, en este artículo sobre el tutorial de SQL Server, comencemos con el primer conjunto de comandos, es decir, comandos del lenguaje de definición de datos.
Comandos del lenguaje de definición de datos
Esta sección del artículo le dará una idea sobre los comandos con la ayuda de los cuales puede definir su base de datos. Los comandos son los siguientes:
CREAR
Esta declaración se utiliza para crear una tabla, base de datos o vista.
La declaración 'CREATE DATABASE'
Esta declaración se utiliza para crear una base de datos.
Sintaxis
CREAR BASE DE DATOS Nombre de la base de datos
Ejemplo
CREAR BASE DE DATOS Estudiantes
Los ' CREAR MESA 'Declaración
Como sugiere el nombre, esta declaración se utiliza para crear una tabla.
Sintaxis
CREAR TABLA TableName (tipo de datos Columna1, tipo de datos Columna2, tipo de datos Columna3, .... Tipo de datos ColumnaN)
Ejemplo
CREAR TABLA StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), Ciudad varchar (8000), Country varchar (8000))
SOLTAR
Esta declaración se utiliza para eliminar una tabla, base de datos o vista existente.
La declaración 'DROP DATABASE'
Esta declaración se utiliza para eliminar una base de datos existente. La información completa presente en la base de datos se perderá tan pronto como ejecute el siguiente comando.
Sintaxis
DROP DATABASE Nombre de la base de datos
Ejemplo
DROP DATABASE Estudiantes
La declaración 'DROP TABLE'
Esta declaración se utiliza para eliminar una tabla existente. La información completa presente en la tabla se perderá tan pronto como ejecute el siguiente comando.
Sintaxis
DROP TABLE TableName
Ejemplo
TABLA DROP StudentInfo
AÑOS
El comando ALTER se utiliza para agregar, eliminar o modificar columnas o restricciones en una tabla existente.
Los ' ALTER TABLE 'Declaración
Esta declaración se utiliza para agregar, eliminar, modificar columnas en una tabla preexistente.
La declaración 'ALTER TABLE' con ADD / DROP COLUMN
La instrucción ALTER TABLE se usa con el comando ADD / DROP Column para agregar y eliminar una columna.
Sintaxis
ALTER TABLE TableName ADD ColumnName Tipo de datos ALTER TABLE TableName DROP COLUMN ColumnName
Ejemplo
--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
La declaración 'ALTER TABLE' con ALTER COLUMN
La instrucción ALTER TABLE se puede utilizar con la columna ALTER para cambiar el tipo de datos de una columna existente en una tabla.
Sintaxis
ALTER TABLE TableName ALTER COLUMN ColumnName Tipo de datos
Ejemplo
: Agregue una columna DOB y cambie el tipo de datos de fecha a fecha y hora. ALTER TABLE StudentInfo AÑADIR DOB date ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
TRUNCAR
Este comando SQL se utiliza para eliminar la información presente en la tabla, pero no elimina la tabla en sí. Por lo tanto, si desea eliminar la información presente en la tabla y no eliminar la tabla en sí, debe usar el comando TRUNCATE. De lo contrario, use el comando DROP.
Sintaxis
TRUNCATE TABLE TableName
Ejemplo
TABLA TRUNCATE StudentInfo
REBAUTIZAR
Esta declaración se utiliza para cambiar el nombre de una o más tablas.
Sintaxis
sp_rename 'OldTableName', 'NewTableName'
Ejemplo
sp_rename 'StudentInfo', 'Infostudents'
Continuando en este artículo sobre el tutorial de SQL Server, comprendamos los diferentes tipos de datos compatibles con SQL Server.
Tipos de datos de SQL Server
Categoría de tipo de datos | Nombre del tipo de datos | Descripción | Rango / sintaxis |
Números exactos | numérico | Se utiliza para almacenar valores numéricos y tener precisión fija y números de escala. | - 10 ^ 38 +1 a 10 ^ 38 - 1. |
diminuto | Se usa para almacenar valores enteros | 0 hasta 255 | |
pequeño | Se usa para almacenar valores enteros | -2 ^ 15 (-32,768) a 2 ^ 15-1 (32,767) | |
Empezando | Se usa para almacenar valores enteros | -2 ^ 63 (-9,223,372,036,854,775,808) a 2 ^ 63-1 (9,223,372,036,854,775,807) | |
En t | Se usa para almacenar valores enteros | -2 ^ 31 (-2,147,483,648) a 2 ^ 31-1 (2,147,483,647) | |
poco | Almacena un tipo de datos entero que tiene un valor de 0, 1 o NULL | 0, 1 o NULO | |
decimal | Se utiliza para almacenar valores numéricos y tener precisión fija y números de escala. | - 10 ^ 38 +1 a 10 ^ 38 - 1. | |
poco dinero | Se usa para almacenar dineroo valores monetarios. | - 214,748.3648 a 214,748.3647 | |
dinero | Se usa para almacenar dineroo valores monetarios. | -922,337,203,685,477.5808 a 922,337,203,685,477.5807 (-922,337,203,685,477.58 al 922,337,203,685,477.58 para Informatica. | |
Números aproximados | flotador | Se usa para almacenar datos numéricos de punto flotante | - 1.79E + 308 a -2.23E-308, 0 y 2.23E-308 a 1.79E + 308 |
real | Se usa para almacenar datos numéricos de punto flotante | - 3.40E + 38 a -1.18E - 38, 0 y 1.18E - 38 a 3.40E + 38 | |
Fecha y hora | fecha | Se utiliza para definir una fecha en SQL Server. | Sintaxis: fecha |
pequeña fecha y hora | Se utiliza para definir una fecha que se combina con una hora del día en la que la hora se basa en un día de 24 horas, con segundos siempre cero (: 00) y sin segundos fraccionarios. | Sintaxis: smalldatetime | |
datetime | Se utiliza para definir una fecha que se combina con una hora del día con fracciones de segundo según un reloj de 24 horas. | Sintaxis: fecha y hora | |
datetime2 | datetime2 es como una extensión de lo existente datetime tipo que tiene una precisión fraccionaria predeterminada más grande, un intervalo de fechas más grande. | Sintaxis: datetime2 | |
datetimeoffset | Se utiliza para definir una fecha que se combina con una hora de un día que tiene reconocimiento de zona horaria. Se basa en un reloj de 24 horas. | Sintaxis: datetimeoffset | |
hora | Se usa para definir una hora del día. | Sintaxis: tiempo | |
Cadenas de caracteres | carbonizarse | Se utiliza para almacenar caracteres de tamaño fijo. | carbonizarse[ ( norte )] donde el valor n varía de 1 a 8.000 |
varchar | Se utiliza para almacenar caracteres de longitud variable. | varchar [( norte | max)] donde el valor n varía de 1 a 8000 y el almacenamiento máximo permitido es de 2 GB. | |
texto | Se utiliza para almacenar vdatos no Unicode de longitud variable | Longitud máxima de cadena permitida: 2 ^ 31-1 (2,147,483,647) | |
Cadenas de caracteres Unicode | nchar | Se utiliza para almacenar caracteres de tamaño fijo. | nchar[(n)] donde el valor n varía de 1 a 4000 |
nvarchar | Se utiliza para almacenar caracteres de longitud variable. | varchar [( norte | max)] donde el valor n varía de 1 a 4000 y el almacenamiento máximo permitido es de 2 GB. | |
ntext | Se utiliza para almacenar datos Unicode de longitud variable | Longitud máxima de cadena permitida: 2 ^ 30-1 (2,147,483,647) | |
Cadenas binarias | binario | Se utiliza para almacenar tipos de datos binarios de longitud fija | binario[ ( norte )] donde el valor n varía de 1 a 8.000 |
varbinary | Se utiliza para almacenar tipos de datos binarios de longitud fija | varbinary[ ( norte )] donde el valor n varía de 1-8000 y el almacenamiento máximo permitido es 2 ^ 31-1 bytes. | |
imagen | Se utiliza para almacenar datos binarios de longitud variable. | 0 – 2^31-1 (2,147,483,647) bytes | |
Otros tipos de datos | Es un tipo de datos para procedimientos almacenados o parámetros de SALIDA de variables que contienen una referencia a un cursor. | – | |
rowversion | Se utiliza para exponer números binarios únicos generados automáticamente dentro de una base de datos. | – | |
jerarquizado | Se utiliza para representar la posición en una jerarquía. | – | |
identificador único | Es un GUID de 16 bytes. | Sintaxis:identificador único | |
sql_variant | Se utiliza para almacenar los valores de varios tipos de datos compatibles con SQL Server. | Sintaxis: sql_variant | |
xml | Se utiliza para almacenar el tipo de datos XML. | xml ([CONTENIDO | DOCUMENTO] xml_schemacollection) | |
Tipos de geometría espacial | Se utiliza para representar datos en un sistema de coordenadas euclidiano (plano). | – | |
Tipos de geografía espacial | Se utiliza para almacenar datos elipsoidales (tierra redonda), como coordenadas de latitud y longitud de GPS. | – | |
mesa | Se utiliza para almacenar un conjunto de resultados para su procesamiento en un momento posterior. | – |
A continuación, en este artículo, entendamos los diferentes tipos de claves y restricciones en la base de datos.
Diferentes tipos de claves en la base de datos
Los siguientes son los diferentes tipos de claves que se utilizan en la base de datos:
- Llave candidata - La clave candidata es un conjunto de atributos que pueden identificar de forma única una tabla. Una tabla puede tener más de una clave candidata y, de las claves candidatas elegidas, se elige una clave como clave principal.
- Super llave - El conjunto de atributos puede identificar de forma única una tupla. Entonces, las claves candidatas, las claves únicas y las claves primarias son súper claves, pero lo contrario no es cierto.
- Clave primaria - Claves primarias se utilizan para identificar de forma única cada tupla.
- Clave alternativa - Las claves alternativas son aquellas claves candidatas que no se eligen como clave principal.
- Llave unica– Las claves únicas son similares a la clave principal, pero permiten un único valor NULL en la columna.
- Clave externa - Un atributo que solo puede tomar los valores presentes como valores de algún otro atributo, es el clave externa al atributo al que se refiere.
- Clave compuesta– Las claves compuestas son una combinación de dos o más columnas que identifican cada tupla de forma única.
Restricciones utilizadas en la base de datos
Las restricciones se utilizan en una base de datos para especificar las reglas para los datos almacenados en una tabla. Los diferentes tipos de restricciones en SQL son como sigue:
NO NULO
La restricción NOT NULL asegura que una columna no pueda tener un valor NULL.
Ejemplo
CREAR TABLA StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) --NOT NULL en ALTER TABLE ALTER TABLE EstudiantesInfo ALTER COLUMN PhoneNumber int NOT NULL
ÚNICO
Esta restricción asegura que todos los valores de una columna sean únicos.
Ejemplo
--UNIQUE on Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ciudad varchar (8000), País varchar ( 8000)) - ÚNICO en varias columnas CREAR TABLA StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ciudad varchar (8000), País varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --ÚNICO en ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Para eliminar una restricción ÚNICA ALTER TABLE StudentsInfo DROP RESTRING UC_Student_Info
CHEQUE
La restricción CHECK asegura que todos los valores de una columna satisfagan una condición específica.
Ejemplo
--CHECK Restraint on CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ciudad varchar (8000), País varchar ( 8000) CHECK (Country = 'India')) --CHECK Restricción en varias columnas CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ciudad varchar (8000), País varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Restricción en ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') --Para dar una nombre a la restricción CHECK ALTER TABLE StudentsInfo AGREGAR RESTRICCIÓN CheckConstraintName CHECK (Country = 'India') --Para eliminar una restricción CHECK ALTER TABLE Información de estudiantes DROP RESTRINGIR CheckConstraintName
cómo implementar un mapa hash
DEFECTO
La restricción DEFAULT consiste en un conjunto de valores predeterminados para una columna cuando no se especifica ningún valor.
Ejemplo
--DEFAULT Constraint on CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ciudad varchar (8000), País varchar (8000) DEFAULT 'India') --DEFAULT Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country --Para eliminar la restricción predeterminada ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
ÍNDICE
los Restricción INDEX se utiliza para crear índices en la tabla, a través de los cuales puede crear y recuperar datos de la base de datos muy rápidamente.
Sintaxis
--Crear un índice donde se permitan valores duplicados CREAR ÍNDICE IndexName ON TableName (Columna1, Columna2, ... ColumnN) --Crear un índice donde no se permiten valores duplicados CREAR ÍNDICE ÚNICO IndexName ON TableName (Columna1, Columna2, ... ColumnaN)
Ejemplo
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName): para eliminar un índice en una tabla DROP INDEX StudentsInfo.idex_StudentName
Avanzando en este artículo sobre el tutorial de SQL Server, comprendamos ahora los diferentes comandos del lenguaje de manipulación de datos que se utilizan en Microsoft SQL Server.
Comandos del lenguaje de manipulación de datos
Esta sección del artículo cubrirá todos aquellos comandos a través de los cuales puede manipular la base de datos. Los comandos son los siguientes:
- UTILIZAR
- INSERTAR EN
- ACTUALIZAR
- ELIMINAR
- VAMOS
- SELECCIONE
- CUBO
- ENROLLAR
- COMPENSAR
- IR A BUSCAR
- PARTE SUPERIOR
- PIVOTE
Aparte de estos comandos, también hay otros operadores / funciones de manipulación como:
UTILIZAR
Esta declaración se utiliza para seleccionar la base de datos para comenzar a realizar varias operaciones en ella.
Sintaxis
USE DatabaseName
Ejemplo
USE Estudiantes
INSERTAR EN
los INSERT INTO declaración se utiliza para insertar nuevos registros en una tabla existente.
Sintaxis
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) --Si no desea mencionar los nombres de las columnas, utilice la siguiente sintaxis INSERT INTO TableName VALUES (Valor1, Valor2, Valor3, ...)
Ejemplo
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSERT INTO StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
ACTUALIZAR
La instrucción UPDATE se utiliza para modificar o actualizar los registros que ya están presentes en la tabla.
Sintaxis
ACTUALIZAR TableName SET Column1 = Value1, Column2 = Value2, ... WHERE Condición
Ejemplo
ACTUALIZAR StudentsInfo SET StudentName = 'Aahana', Ciudad = 'Ahmedabad' DONDE StudentID = 1
ELIMINAR
La instrucción DELETE se utiliza para eliminar los registros existentes en una tabla.
Sintaxis
BORRAR DE TableName WHERE Condición
Ejemplo
BORRAR DE StudentsInfo DONDE StudentName = 'Aahana'
VAMOS
La instrucción MERGE se utiliza para realizar las operaciones INSERT, UPDATE y DELETE en una tabla específica, donde se proporciona la tabla fuente. Consulte a continuación.
Sintaxis
FUSIONAR TagretTableName USANDO SourceTableName ON MergeCondition CUANDO COINCIDOS ENTONCES Update_Statement CUANDO NO COINCIDOS ENTONCES Insert_Statement CUANDO NO COINCIDOS POR SOURCE THEN DELETE
Ejemplo
Para comprender la instrucción MERGE, considere las siguientes tablas como la tabla de origen y la tabla de destino.
Tabla de origen:
Identificación del Estudiante | Nombre del estudiante | Marcas |
1 | odio | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tabla de destino:
Identificación del Estudiante | Nombre del estudiante | Marcas |
1 | odio | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
FUSIONAR SampleTargetTable TARGET USANDO SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) CUANDO SE COINCIDAN Y TARGET.StudentName SOURCE.StudentName O TARGET.Marks SOURCE.Marks LUEGO ACTUALIZAR SET = SOURCE.StudentMarks, TARGET.StudentName = SOURCE.StudentMarks. CUANDO NO COINCIDAN POR OBJETIVO ENTONCES INSERTAR (StudentID, StudentName, Marks) VALORES (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) CUANDO NO COINCIDEN POR SOURCE LUEGO BORRAR
Salida
Identificación del Estudiante | Nombre del estudiante | Marcas |
1 | odio | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
SELECCIONE
los Instrucción SELECT se utiliza para seleccionar datos de una base de datos, tabla o vista. Los datos devueltos se almacenan en una tabla de resultados, denominada conjunto resultante .
Sintaxis
SELECT Columna1, Columna2, ... ColumN FROM TableName - (*) se usa para seleccionar todo de la tabla SELECT * FROM table_name - Para seleccionar el número de registros para devolver use: SELECT TOP 3 * FROM TableName
Ejemplo
- Para seleccionar algunas columnas SELECT StudentID, StudentName FROM StudentsInfo - (*) se usa para seleccionar todo de la tabla SELECT * FROM StudentsInfo - Para seleccionar el número de registros para devolver use: SELECT TOP 3 * FROM StudentsInfo
También podemos usar las siguientes palabras clave con la instrucción SELECT:
DISTINTO
La palabra clave DISTINCT se usa con la instrucción SELECT para devolver solo valores diferentes.
Sintaxis
SELECCIONE DISTINCT Column1, Column2, ... ColumnN FROM TableName
Ejemplo
SELECCIONE NÚMERO DE TELÉFONO DISTINTO DE StudentsInfo
PEDIR POR
Esta declaración se utiliza para clasificar los resultados requeridos en orden ascendente o descendente. De forma predeterminada, los resultados se almacenan en orden ascendente. Sin embargo, si desea obtener los resultados en orden descendente, debe utilizar el DESC palabra clave.
Sintaxis
SELECT Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC
Ejemplo
- Seleccione todos los estudiantes de la tabla 'StudentsInfo' ordenados por ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Seleccione todos los estudiantes de la tabla 'StudentsInfo' ordenados por ParentName en orden descendente: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Seleccione todos los estudiantes de la tabla 'StudentsInfo' ordenados por ParentName y StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Seleccione todos los estudiantes de la tabla 'StudentsInfo' ordenados por ParentName en orden descendente y StudentName en orden ascendente: * / SELECT * DE StudentsInfo ORDER BY ParentName ASC, StudentName DESC
AGRUPAR POR
Esta declaración se usa con el Funciones agregadas para agrupar el conjunto de resultados por una o más columnas.
Sintaxis
SELECCIONE Columna1, Columna2, ..., ColumnaN DE NombreTabla DONDE Condición AGRUPAR POR Nombre (s) de columna ORDENAR POR Nombre (s) de columna
Ejemplo
- Enumerar el número de estudiantes de cada ciudad. SELECCIONAR COUNT (StudentID), ciudad FROM StudentsInfo GRUPO POR ciudad
CONJUNTOS DE AGRUPACIÓN
LOS CONJUNTOS DE AGRUPACIÓN se introdujeron en SQL Server 2008, y se utilizan para generar un conjunto de resultados que puede UNIÓN TODOS de las múltiples cláusulas GROUP BY simples.
Sintaxis
SELECCIONAR ColumnNames (s) DE TableName GROUP POR GRUPO DE CONJUNTOS (ColumnName (s))
Ejemplo
SELECCIONE StudentID, StudentName, COUNT (City) from StudentsInfo Group POR CONJUNTOS DE AGRUPACIÓN ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
TENIENDO
Esta cláusula se utiliza en el escenario donde el DONDE palabra clave No puede ser usado.
Sintaxis
SELECCIONE Nombre (s) de columna de TableName DONDE Condición AGRUPAR POR Nombre (s) de columna TENIENDO Condición ORDEN POR Nombre (s) de columna
Ejemplo
SELECCIONE COUNT (StudentID), ciudad FROM StudentsInfo GRUPO POR ciudad TENIENDO COUNT (StudentID)> 2 ORDEN POR COUNT (StudentID) DESC
DENTRO
La palabra clave INTO se puede utilizar con el Instrucción SELECT para copiar datos de una tabla a otra. Bueno, puedes entender que estas tablas son tablas temporales. Las tablas temporales se utilizan generalmente para realizar manipulaciones sobre los datos presentes en la tabla, sin alterar la tabla original.
Sintaxis
SELECCIONE * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Condición
Ejemplo
- Para crear una copia de seguridad de la tabla 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Para seleccionar solo algunas columnas de StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
CUBO
CUBE es una extensión del Cláusula GROUP BY . Le permite generar los subtotales para todas las combinaciones de las columnas de agrupación especificadas en la cláusula GROUP BY.
Sintaxis
SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Ejemplo
SELECCIONE StudentID, COUNT (Ciudad) FROM StudentsInfo GRUPO POR CUBO (StudentID) ORDEN POR StudentID
ENROLLAR
ROLLUP es una extensión de la cláusula GROUP BY. Esto le permite incluir las filas adicionales que representan los subtotales. Estos se denominan filas superegregadas junto con la fila total general.
Sintaxis
SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Ejemplo
SELECCIONE StudentID, COUNT (Ciudad) FROM StudentsInfo GRUPO POR ROLLUP (StudentID)
COMPENSAR
La cláusula OFFSET se usa con SELECT y Instrucción ORDER BY para recuperar una variedad de registros. Debe usarse con la cláusula ORDER BY ya que no se puede usar por sí solo. Además, el rango que mencione debe ser igual o mayor que 0. Si menciona un valor negativo, entonces muestra un error.
Sintaxis
SELECT ColumnNames) FROM TableName WHERE Condición ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS
Ejemplo
Considere una nueva columna Marcas en el EstudiantesInfo mesa.
SELECCIONE StudentName, ParentName FROM StudentsInfo ORDEN POR MARCAS DESPLAZAMIENTO 1 FILAS
IR A BUSCAR
La cláusula FETCH se usa para devolver un conjunto de varias filas. Tiene que utilizarse junto con la cláusula OFFSET.
Sintaxis
SELECT ColumnNames) FROM TableName WHERE Condición ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY
Ejemplo
SELECCIONE StudentName, ParentName FROM StudentsInfo ORDENAR POR Marcas DESPLAZAMIENTO 1 FILAS BUSCAR SIGUIENTE 1 FILAS SOLAMENTE
PARTE SUPERIOR
La cláusula TOP se usa con la instrucción SELECT para mencionar el número de registros a devolver.
Sintaxis
SELECCIONAR NÚMERO SUPERIOR Nombre (s) de columna de TableName WHERE Condición
Ejemplo
SELECCIONE LOS 3 PRINCIPALES * DE StudentsInfo
PIVOTE
PIVOT se utiliza para rotar las filas a valores de columna y ejecuta agregaciones cuando es necesario en los valores de columna restantes.
Sintaxis
SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT consulta que produce los datos) AS [alias para la consulta inicial] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName de la columna cuyos valores se convertirán en encabezados de columna] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last columna dinámica])) AS [alias de la tabla dinámica]
Ejemplo
Para obtener un ejemplo detallado, puede consultar mi artículo sobre SQL PIVOT y UNPIVOT . A continuación, en este tutorial de SQL Server, veamos los diferentes operadores admitidos por Microsoft SQL Server.
Operadores
los diferentes tipos de operadores soportado por SQL Server son los siguientes:
- Operadores aritméticos
- Operadores de Asignación
- Operadores bit a bit
- Operadores de comparación
- Operadores compuestos
- Operadores logicos
- Operadores de resolución de alcance
- Establecer operadores
- Operadores de concatenación de cadenas
Analicemos cada uno de ellos uno por uno.
Operadores aritméticos
Operador | Sentido | Sintaxis |
+ | Adición | expresión + expresión |
– | Sustracción | expresión - expresión |
* | Multiplicación | expresión * expresión |
/ | División programa de búsqueda binaria en java | expresión / expresión |
% | Modulous | expresión% expresión |
Operadores de Asignación
Operador | Sentido | Sintaxis |
= | Asignar un valor a una variable | variable = 'valor' |
Operadores bit a bit
Operador | Sentido | Sintaxis |
& (Bit a bit AND) | Se utiliza para realizar una operación AND lógica bit a bit entre dos valores enteros. | expresión y expresión |
& = (Asignación AND bit a bit) | Se utiliza para realizar una operación AND lógica bit a bit entre dos valores enteros. También establece un valor para la salida de la operación. | expresión & = expresión |
| (OR bit a bit) | Se utiliza para realizar una operación OR lógica bit a bit entre dos valores enteros traducidos a expresiones binarias dentro de las instrucciones Transact-SQL. | expresión | expresión |
| = (Asignación OR bit a bit) | Se utiliza para realizar una operación OR lógica bit a bit entre dos valores enteros traducidos a expresiones binarias dentro de las instrucciones Transact-SQL. También establece un valor para la salida de la operación. | expresión | = expresión |
^ (OR exclusivo bit a bit) | Se utiliza para realizar una operación OR exclusiva bit a bit entre dos valores enteros. | expresión ^ expresión |
^ = (Asignación OR exclusiva bit a bit) | Se utiliza para realizar una operación OR exclusiva bit a bit entre dos valores enteros. También establece un valor para la salida de la operación. | expresión ^ = expresión |
~ (Bit a bit NO) | Se utiliza para realizar una operación NOT lógica bit a bit en un valor entero. | ~ expresión |
Operadores de comparación
Operador | Sentido | Sintaxis |
= | Igual a | expresión = expresión |
> | Mas grande que | expresión> expresión |
< | Menos que | expresión |
>= | Mayor qué o igual a | expresión> = expresión |
<= | Menos que o igual a | expresión<= expression |
No igual a | expresión expresión | |
!= | No igual a | expresión! = expresión |
!< | No menos que | expresión ! |
!> | No mayor que | expresión!> expresión |
Operadores compuestos
Operador | Sentido | Sintaxis |
+ = | Se utiliza para agregar valor al valor original y establecer el valor original en el resultado. | expresión + = expresión |
-= | Se utiliza para restar un valor del valor original y establecer el valor original en el resultado. | expresión - = expresión |
*= | Se utiliza para multiplicar el valor por el valor original y establecer el valor original en el resultado. | expresión * = expresión |
/= | Se utiliza para dividir un valor del valor original y establecer el valor original en el resultado. | expresión / = expresión |
%= | Se utiliza para dividir un valor del valor original y establecer el valor original en el resultado. | expresión% = expresión |
&= | Se utiliza para realizar una operación AND bit a bit y establecer el valor original en el resultado. | expresión & = expresión |
^= | Se utiliza para realizar una operación OR exclusiva bit a bit y establecer el valor original en el resultado. | expresión ^ = expresión |
|= | Se utiliza para realizar una operación OR bit a bit y establecer el valor original en el resultado. | expresión | = expresión |
Operadores logicos
Operador | Sentido | Sintaxis |
TODOS | Devuelve VERDADERO si todo el conjunto de comparaciones es VERDADERO. | expresión_escalar! = TODO (subconsulta) |
Y | Devuelve VERDADERO si ambas expresiones son VERDADERAS. | expresión_booleana Y expresión_booleana |
NINGUNA | Devuelve VERDADERO si cualquiera de un conjunto de comparaciones es VERDADERO. | scalar_expression! = {CUALQUIER} (subconsulta) |
ENTRE | Devuelve VERDADERO si un operando está dentro de un rango. | sampleexpression [NOT] BETWEEN beginexpression AND endexpression |
EXISTE | Devuelve VERDADERO si una subconsulta contiene filas. | EXISTE (subconsulta) |
EN | Devuelve VERDADERO si un operando es igual a uno de una lista de expresiones. | test_expression [NOT] IN (subconsulta | expresión [,… n]) |
Devuelve VERDADERO si un operando coincide con un patrón. | match_expression [NO] LIKE patrón [ESCAPE escape_character] | |
NO | Invierte el valor de cualquier operador booleano. | [NO] expresión_booleana |
O | Devuelve VERDADERO si alguna de las expresiones booleanas es VERDADERO. | expresión_booleana O expresión_booleana |
ALGUNOS | Devuelve VERDADERO si algunas comparaciones de un conjunto son VERDADERAS. | expresión_escalar<= { SOME} ( subquery ) |
Operadores de resolución de alcance
Operador | Sentido | Ejemplo |
:: | Proporciona acceso a miembros estáticos de un tipo de datos compuestos. Los tipos de datos compuestos son aquellos tipos de datos que contienen múltiples métodos y tipos de datos simples. Tipos de datos compuestos Estos incluyen los tipos CLR incorporados y los tipos definidos por el usuario (UDT) SQLCLR personalizados. | DECLARAR @hid jerarquías SELECCIONAR @hid = jerarquías :: GetRoot () PRINT @ hid.ToString () |
Establecer operadores
Hay principalmente tres operaciones de conjuntos:UNIÓN,INTERSECARSE,MENOS. Puede consultar la imagen a continuación para comprender las operaciones de conjunto en SQL. Consulte la siguiente imagen:
Operador | Sentido | Sintaxis |
UNIÓN | El operador UNION se utiliza para combinar el conjunto de resultados de dos o más sentencias SELECT. | SELECCIONAR Nombre (s) de columna de Table1 UNIÓN SELECCIONAR Nombre (s) de columna de Table2 |
INTERSECARSE | La cláusula INTERSECT se utiliza para combinar dosSELECCIONEdeclaraciones y devuelve la intersección de los conjuntos de datos de ambas declaraciones SELECT. | SELECCIONE Columna1, Columna2…. FROM TableName DONDE Condición INTERSECARSE SELECCIONE Columna1, Columna2…. FROM TableName DONDE Condición |
EXCEPTO | El operador EXCEPT devuelve las tuplas que devuelve la primera operación SELECT y no las devuelve la segunda operación SELECT. | SELECT ColumnName FROM TableName EXCEPTO SELECT ColumnName FROM TableName |
Operadores de cadenas
Operador | Sentido | Sintaxis / Ejemplo |
+ (Concatenación de cadenas) | Concatena dos o más cadenas de caracteres o binarios, columnas o una combinación de cadenas y nombres de columnas en una sola expresión | expresión + expresión |
+ = (Concatenación de cadenas) | Se utiliza para concatenar dos cadenas y establece la cadena en el resultado de la operación. | expresión + = expresión |
% (Caracteres comodín para coincidir) | Se utiliza para coincidir con cualquier cadena de cero o más caracteres. | Ejemplo: '% de muestra' |
[] (Caracteres comodín para coincidir) | Se utiliza para hacer coincidir un solo carácter dentro del rango especificado o conjunto que se especifica entre corchetes []. | Ejemplo: m [n-z]% ’ |
[^] (Caracteres comodín para coincidir) | Se utiliza para hacer coincidir un solo carácter que no está dentro del rango o conjunto especificado entre corchetes. | Ejemplo: 'Al [^ a]%' |
_ (Caracteres comodín para coincidir) | Se usa para hacer coincidir un solo carácter en una operación de comparación de cadenas | test_expression [NOT] IN (subconsulta | expresión [,… n]) |
Agregar Funciones
Lo diferente Funciones agregadas soportado por SQL Server son los siguientes:
Función | Descripción | Sintaxis | Ejemplo |
SUMA() | Se usa para devolver la suma de un grupo de valores. | SELECCIONAR SUM (ColumnName) FROM TableName | SELECCIONE SUM (Marcas) DE StudentsInfo |
CONTAR() | Devuelve el número de filas según una condición o sin ella. | SELECCIONE COUNT (ColumnName) FROM TableName WHERE Condición | SELECCIONAR COUNT (StudentID) DE StudentsInfo |
AVG () | Se utiliza para calcular el valor medio de una columna numérica. | SELECCIONE AVG (ColumnName) FROM TableName | SELECCIONE PROMEDIO (Marcas) de StudentsInfo |
MIN () | Esta función devuelve el valor mínimo de una columna. | SELECCIONAR MIN (ColumnName) FROM TableName | SELECCIONE MIN (Marcas) DE StudentsInfo |
MAX () | Devuelve un valor máximo de una columna. | SELECCIONAR MAX (ColumnName) FROM TableName | SELECCIONE MAX (Marks) FROM StudentsInfo |
PRIMERO() | Se usa para devolver el primer valor de la columna. | SELECCIONE PRIMERO (ColumnName) DE TableName | SELECCIONE PRIMERO (Marcas) DE StudentsInfo |
ÚLTIMO() | Esta función devuelve el último valor de la columna. | SELECCIONAR ÚLTIMO (ColumnName) FROM TableName | SELECCIONE LAST (Marcas) DE StudentsInfo |
Funciones definidas por el usuario
Microsoft SQL Server permite a los usuarios crear funciones definidas por el usuario que son rutinas. Estas rutinas aceptan parámetros, pueden realizar acciones simples a complejas y devolver el resultado de esa acción en particular como un valor. Aquí, el valor devuelto puede ser un solo valor escalar o un conjunto de resultados completo.
Puede utilizar funciones definidas por el usuario para:
- Permitir la programación modular
- Reducir el tráfico de la red
- Permitir una ejecución más rápida de consultas
Además, existen diferentes tipos de funciones definidas por el usuario que puede crear. Son:
- Funciones escalares: Acostumbrado adevuelve un único valor de datos del tipo definido en la cláusula RETURNS.
- Funciones con valores de tabla: Acostumbrado adevolver unmesatipo de datos.
- Funciones del sistema: SQL Server proporciona una variedad de funciones del sistema para realizar diferentes operaciones.
Bueno, además de las funciones definidas por el usuario, hay un montón de funciones integradas en SQL Server que se pueden usar para realizar una variedad de tareas. Continuando en este artículo sobre el tutorial de SQL Server, entendamos ahora qué son las consultas anidadas.
Consultas anidadas
Consultas anidadas son aquellas consultas que tienen una consulta externa y una subconsulta interna. Entonces, básicamente, la subconsulta es una consulta que está anidada dentro de otra consulta como SELECT, INSERT, UPDATE o DELETE. Consulte la imagen a continuación:
A continuación, en este tutorial de SQL Server, comprendamos los diferentes tipos de combinaciones en SQL.
Uniones
se utilizan para combinar tuplas de dos o más tablas, basándose en una columna relacionada entre las tablas. Hay cuatro tipos de combinaciones:
- UNIR INTERNAMENTE: Devuelve registros que tienen valores coincidentes en ambas tablas.
- ÚNETE A LA IZQUIERDA: Devuelve los registros de la tabla de la izquierda y también los registros que cumplen la condición de la tabla de la derecha.
- UNIRSE CORRECTAMENTE: Devuelve los registros de la tabla de la derecha y también los registros que cumplen la condición de la tabla de la izquierda.
- ÚNETE COMPLETO: Devuelve registros que tienen una coincidencia en la tabla izquierda o derecha.
Considere la siguiente tabla junto con la tabla StudentsInfo para comprender la sintaxis de las combinaciones.
SubjectID | Identificación del Estudiante | Nombre del tema |
10 | 10 | Matemáticas |
2 | 11 | Física |
3 | 12 | Química |
UNIR INTERNAMENTE
Sintaxis
SELECCIONAR Nombre (s) de columna DESDE Table1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Ejemplo
SELECT Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
ÚNETE A LA IZQUIERDA
Sintaxis
SELECCIONAR Nombre (s) de columna DESDE Table1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Ejemplo
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
UNIRSE CORRECTAMENTE
Sintaxis
SELECCIONAR Nombre (s) de columna DESDE Table1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Ejemplo
SELECCIONE StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo DERECHA UNIR a Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
ÚNETE COMPLETO
Sintaxis
SELECCIONAR Nombre (s) de columna DESDE Table1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Ejemplo
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
A continuación, en este artículo sobre el tutorial de SQL Server, comprendamos los diferentes tipos de bucles que admite SQL Server.
Bucles
Los diferentes comandos de control de flujo son los siguientes:
Analicemos cada uno de ellos uno por uno.
COMIENZO .. FIN
Estas palabras clave se utilizan para incluir una serie de sentencias SQL. Entonces, este grupo de sentencias SQL se puede ejecutar.
Sintaxis
php cómo imprimir matriz
BEGIN StatementBlock END
DESCANSO
Esta declaración se utiliza para salir del bucle WHILE actual. En caso de que el bucle WHILE actual esté anidado dentro de otro bucle, entonces la instrucción BREAK sale solo del bucle actual y el control pasa a la siguiente instrucción en el bucle actual. La instrucción BREAK se usa generalmente dentro de una instrucción IF.
Sintaxis
DESCANSO
SEGUIR
La instrucción CONTINUE se usa para reiniciar un ciclo WHILE. Por lo tanto, se ignorará cualquier declaración después de la palabra clave CONTINUE.
Sintaxis
SEGUIR
Aquí, Etiqueta es el punto después del cual comienza el procesamiento si un GOTO está dirigido a esa etiqueta en particular.
IR
Se usa para alterar el flujo de ejecución de una etiqueta. Las declaraciones escritas después de la palabra clave GOTO se omiten y el procesamiento continúa en la etiqueta.
Sintaxis
Definir etiqueta: Etiqueta: Modificar ejecución: GOTO Etiqueta
Aquí, Etiqueta es el punto después del cual comienza el procesamiento si un GOTO está dirigido a esa etiqueta en particular.
SI ... SI NO
Como cualquier otro lenguaje de programación, la instrucción If-else en SQL Server prueba la condición y si la condición es falsa, se ejecuta la instrucción 'else'.
Sintaxis
IF BooleanExpression StatementBlock [ELSE StatementBlock]
REGRESO
Se utiliza para salir incondicionalmente de una consulta o procedimiento. Por lo tanto, las declaraciones que se escriben después de la cláusula RETURN no se ejecutan.
Sintaxis
VOLVER [IntegerExpression]
Aquí, se devuelve un valor entero.
ESPERA
El flujo de control WAITFOR se usa para bloquear la ejecución de un procedimiento almacenado, transacción o lote hasta que una declaración específica se modifica, devuelve al menos una fila o transcurre un tiempo o intervalo de tiempo especificado.
Sintaxis
WAITFOR (GetConversionGroupStatement)] [, tiempo de espera de TIMEOUT]
dónde,
- RETRASAR - Periodo de tiempo que debe transcurrir
- TimeToPass - PAGSeriodo de tiempo para esperar
- HORA - Loshora en que se ejecuta el procedimiento almacenado, la transacción o el lote.
- TimeToExecute - Loshora a la que finaliza la instrucción WAITFOR.
- RecieveStatement – Adeclaración RECEIVE válida.
- GetConversionGroupStatement – Ainstrucción GET CONVERSATION GROUP válida.
- TIMEOUT tiempo de espera – Especifica el período de tiempo, en milisegundos, para esperar a que llegue un mensaje a la cola.
MIENTRAS
Este bucle se utiliza para establecer una condición para la ejecución repetida de una instrucción SQL particular o un bloque de instrucción SQL. Las declaraciones se ejecutan siempre que la condición mencionada por el usuario sea VERDADERA. Tan pronto como la condición falla, el ciclo deja de ejecutarse.
Sintaxis
WHILE BooleanExpression StatementBlock
Ahora que conocen los comandos DML, pasemos a la siguiente secciónen este artículo sobre el tutorial de SQL, es decir, los comandos DCL.
Comandos de lenguaje de control de datos (DCL)
Esta sección del tutorial de SQL Server le dará una idea sobre el comando mediante el cual se utilizan para reforzar la seguridad de la base de datos en entornos de bases de datos de múltiples usuarios. Los comandos son los siguientes:
CONCEDER
El comando GRANT se utiliza para proporcionar acceso o privilegios sobre la base de datos y sus objetos a los usuarios.
Sintaxis
GRANT PrivilegeName ON ObjectName TO RoleName [CON LA OPCIÓN GRANT]
dónde,
- PrivilegeName - Es el privilegio / derecho / acceso otorgado al usuario.
- Nombre del objeto - Nombre de un objeto de base de datos como TABLE / VIEW / STORED PROC.
- Nombre de usuario - Nombre del usuario que tiene acceso / derechos / privilegios.
- PÚBLICO - Otorgar derechos de acceso a todos los usuarios.
- Nombre de rol - El nombre de un conjunto de privilegios agrupados.
- CON OPCIÓN DE SUBVENCIÓN - Dar acceso al usuario para otorgar derechos a otros usuarios.
Ejemplo
- Para otorgar permiso SELECT a la tabla StudentsInfo al usuario1 GRANT SELECT ON StudentsInfo TO user1
REVOCAR
El comando REVOKE se usa para retirar los privilegios de acceso del usuario otorgados mediante el comando GRANT.
Sintaxis
REVOCAR PrivilegeName ON ObjectName DE PUBLIC
Ejemplo
- Para revocar el permiso otorgado al usuario1 REVOKE SELECT ON StudentsInfo TO user1
Continuando en este tutorial de SQL Server, entendamos cómo crear y usar procedimientos almacenados.
Procedimientos almacenados
Procedimientos almacenados son unidades reutilizables que encapsulan una lógica empresarial específica de la aplicación. Por lo tanto, es un grupo de sentencias SQL y lógica, compiladas y almacenadas juntas para realizar una tarea específica.
Sintaxis
CREAR [O REEMPLAZAR] PROCEDIMIENTO nombre_procedimiento [(nombre_parámetro [ENTRADA | SALIDA | ENTRADA SALIDA] tipo [])] ES BEGIN [sección_declaración] sección_ejecutable // Sentencia SQL utilizada en el procedimiento almacenado END GO
Ejemplo
--Crear un procedimiento que devolverá un nombre de estudiante cuando el StudentId se proporcione como parámetro de entrada al procedimiento almacenado Crear PROCEDURE GetStudentName (@StudentId INT, --Parámetro de entrada, @StudName VARCHAR (50) OUT --Parámetro de salida, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END
Pasos a ejecutar:
- Declare @StudName como nvarchar (50)
- EXEC GetStudentName 01, salida @StudName
- SELECCIONAR @StudName
El procedimiento anterior devuelve el nombre de un estudiante en particular,en dar esa identificación de los estudiantes como entrada. A continuación, en este tutorial de SQL Server, comprendamos los comandos del lenguaje de control de transacciones.
Comandos de lenguaje de control de transacciones (TCL)
Esta sección del tutorial de SQL Server le dará una idea de los comandos que se utilizan para administrar transacciones en la base de datos.Los comandos son los siguientes:
COMETER
El comando COMMIT se usa para guardar la transacción en la base de datos.
Sintaxis
COMETER
RETROCEDER
El comando ROLLBACK se utiliza para restaurar la base de datos al último estado comprometido.
Sintaxis
RETROCEDER
NOTA: Cuando usa ROLLBACK con SAVEPOINT, puede saltar directamente a un punto de guardado en una transacción en curso. Sintaxis: ROLLBACK TO SavepointName
PUNTO DE GUARDADO
El comando SAVEPOINT se utiliza para guardar temporalmente una transacción. Por lo tanto, si desea retroceder a cualquier punto, puede guardar ese punto como 'SAVEPOINT'.
Sintaxis
SAVEPOINT SAVEPOINTNAME
Considere la siguiente tabla para comprender el funcionamiento de las transacciones en la base de datos.
Identificación del Estudiante | Nombre del estudiante |
1 | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Ahora, usa el siguiente para comprender las transacciones en la base de datos.
INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') GUARDAR PUNTO S3 INSERTAR EN StudentTable VALORES (8,' Veena ') GUARDAR S4 SELECT * FROM StudentTable
A continuación, en este artículo sobre el tutorial de SQL Server, entendamos cómo manejar excepciones en Transact-SQL.
Manejo de excepciones
Hay dos tipos de excepciones, es decir, las excepciones definidas por el sistema y las excepciones definidas por el usuario. Como sugiere el nombre, el manejo de excepciones es un proceso mediante el cual un usuario puede manejar las excepciones generadas. Para manejar las excepciones, debe comprender las siguientes declaraciones de flujo de control:
LANZAR
Esta cláusula se utiliza para generar una excepción y transfiere la ejecución a un bloque CATCH de una construcción TRY… CATCH.
Sintaxis
THROW [ErrorNumber, @localvariable, State] []
dónde,
- Numero erroneo – Aconstante o variable que representa la excepción.
- Mensaje – Avariable o cadena que describe la excepción.
- Estado –Una constante o variable entre 0 y 255 que indica el estado a asociar con el mensaje.
THROW 51000, 'El registro no existe', 1
TRATA DE ATRAPARLO
Se utiliza para implementar el manejo de excepciones en Transact-SQL. Se puede incluir un grupo de declaraciones en el bloque TRY. En caso de que ocurra un error en el bloque TRY, el control se pasa a otro grupo de declaraciones que están encerradas en un bloque CATCH.
Sintaxis
BEGIN TRY StatementBlock FIN TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH
EN Con esto, llegamos al final de este artículo sobre el Tutorial de SQL Server. Espero que haya disfrutado leyendo este artículo sobre el tutorial de SQL Server para principiantes.yo Si desea obtener una formación estructurada sobre MySQL, consulte nuestra que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender MySQL en profundidad y lo ayudará a dominar el tema. Tienes una pregunta para nosotros? Por favor, menciónelo en la sección de comentarios de ' Tutorial de SQL Server ”Y me pondré en contacto contigo.