No mercado atual, onde uma quantidade enorme de dados é gerada todos os dias, é muito importante entender como lidar com os dados. O SQL Server é um ambiente integrado desenvolvido pela Microsoft para lidar com dados.Neste artigo do tutorial do SQL Server, você aprenderá todas as operações e comandos necessários para explorar seus bancos de dados.
Para sua melhor compreensão, dividi o blog nas seguintes categorias:
Comandos | Descrição |
Este conjunto de comandos é usado para definir um banco de dados. | |
Comandos da linguagem de manipulação de dados (DML) | Os comandos de manipulação são usados para manipular os dados presentes no banco de dados. |
Este conjunto de comandos trata das permissões, direitos e outros controles dos sistemas de banco de dados. | |
Esses comandos são usados para lidar com a transação do banco de dados. |
Além dos comandos, os seguintes tópicos são abordados neste artigo:
- O que é SQL Server?
- Instale o SQL Server
- Conecte-se ao SQL Server usando SSMS
- Access Database Engine
- Arquitetura SQL Server
- Comentários em SQL
- Tipos de dados do SQL Server
- Chaves no banco de dados
- Restrições no banco de dados
- Operadores
- Funções de agregação
- Funções definidas pelo usuário
- Consultas aninhadas
- Junta-se
- rotações
- Procedimentos armazenados
- Manipulação de exceção
***NOTA*** Neste tutorial do SQL Server, irei considerar o banco de dados abaixo comoum exemplo, para mostrar como aprender e escrevercomandos.
Identidade estudantil | Nome do aluno | Nome dos pais | Número de telefone | Endereço | Cidade | País |
1 | eu odeio | Akriti mehra | 9955339966 | Brigada Road Block 9 | Hyderabad | Índia |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Calcutá | Índia |
3 | Anay | Soumya Mishra | 9876914261 | Casa Marathalli No 101 | Bengaluru | Índia |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Délhi | Índia |
5 | Shanaya | Abhinay Agarwal | 9878969068 | Rua Oberoi 21 | Mumbai | Índia |
Antes de começarmos a entender os diferentes comandos usados no SQL Server, vamos entender o que é SQL Server, sua arquitetura e como instalá-lo.
quais são as 6 maneiras de usar esta palavra-chave
O que é SQL Server?
Microsoft SQL Server é um relacionamento Sistema de gerenciamento de banco de dados . Suporta o Linguagem de consulta estruturada e vem com sua própria implementação da linguagem SQL, que é o Transact-SQL (T-SQL) . Possui um ambiente integrado para lidar com bancos de dados SQL, que é o .
Os principais componentes do SQL Server são os seguintes:
- Mecanismo de banco de dados: Este componente lida com armazenamento, processamento rápido de transações e proteção de dados.
- Servidor SQL - Este serviço é usado para iniciar, parar, pausar e continuar a instância do MS SQL Server.
- Agente SQL Server - O serviço Agente do Servidor desempenha o papel de agendador de tarefas e é acionado por qualquer evento ou conforme a necessidade.
- SQL Server Browser - Este serviço é usado para conectar a solicitação de entrada à instância do SQL Server desejada.
- Pesquisa de texto completo do SQL Server - Usado para permitir que o usuário execute consultas de texto completo nos dados de caracteres nas tabelas SQL.
- Gravador VSS do SQL Server - Permite backups e restauração de arquivos de dados quando o SQL Server não é executado.
- SQL Server Analysis Services (SSAS) - Este serviço é usado para fornecer análise de dados, mineração de dados e capacidades. O SQL Server também está integrado com e R para análises de dados avançadas.
- SQL Server Reporting Services (SSRS) - Como o nome sugere, este serviço é usado para fornecer recursos e capacidades de tomada de decisão, incluindo integração com .
- SQL Server Integration Services (SSIS) - Este serviço é usado para executar as operações ETL para diferentes tipos de dados de várias fontes de dados.
Agora que você sabe o que é MS SQL Server, vamos avançar neste artigo no tutorial do SQL Server e entender como instalar e configurar o SQL Server.
Instale o SQL Server
Siga as etapas abaixo para instalar o SQL Server:
Passo 1: Vá para a página oficial de Download do Microsoft SQL Server , onde você encontrará a opção de instalar o SQL Server no local ou na nuvem.
Passo 2: Agora, role para baixo e você verá duas opções: Developer & Enterprise edition . Aqui, farei o download do Edição do desenvolvedor . Para fazer o download, basta clicar no Baixe Agora opção. Consulte abaixo.
Etapa 3: Depois de fazer o download do aplicativo, clique duas vezes no arquivo e você verá a seguinte janela.
Passo 4: Agora, você pode escolher qualquer uma das 3 opções para configurar o SQL Server. Aqui, vou apenas escolher o Opção básica . Ao selecionar a opção do tipo de instalação, a próxima tela seria para aceitar o contrato de licença. Para fazer isso, clique em Aceitar na janela seguinte.
Etapa 5: Em seguida, você deve especificar o local de instalação do SQL Server. Em seguida, você deve clicar em Instalar.
Depois de clicar em Instalar , você verá que os pacotes necessários estão sendo baixados. Agora, após a conclusão da instalação, você verá a seguinte tela:
Aqui, você pode ir em frente e clicar em Conectar agora ou Personalizar a instalação. Para seu melhor entendimento, irei seguir em frente e escolher Customizar.
Etapa 6: Depois de clicar em Customizar na janela acima, você verá o seguinte assistente sendo aberto. na janela seguinte, clique em Próximo.
Etapa 7: Depois que as regras forem instaladas automaticamente, clique em Próximo . Consulte abaixo.
Etapa 8: Em seguida, você deve escolher o tipo de instalação. Então, escolha o Execute um nova instalação do SQL Server 2017 opção e clique em Próximo.
Etapa 9: No assistente que é aberto, escolha a edição: Desenvolvedor. Então, clique em Próximo . Consulte abaixo.
Etapa 10: Agora, leia e aceite os contratos de licença fazendo check-in no botão de opção e clique em Próximo . Consulte abaixo.
Etapa 11: No assistente abaixo, você pode escolher os recursos que deseja instalar. Além disso, você pode escolher o diretório raiz da instância e clicar em Próximo . Aqui, vou escolher o Serviços de mecanismo de banco de dados .
Etapa 12: Em seguida, você deve nomear a instância e automaticamente o ID da instância será criado. Aqui, chamarei a instância de “edureka”. Então, clique em Próximo.
Etapa 13: No assistente de configuração do servidor, clique em Próximo .
Etapa 14: Agora, você deve habilitar os modos de autenticação. Aqui, você verá o Modo de autenticação do Windows e Modo misto . Vou escolher o modo misto. Então, mencione a senha e então adicionarei o usuário atual como Admin escolhendo o Adicionar usuário atual opção.
Etapa 15: Em seguida, escolha o caminho do arquivo de configuração e clique em Instalar .
Após a conclusão da instalação, você verá a seguinte tela:
Conecte-se ao SQL Server usando SSMS
Após a instalação do SQL Server, a próxima etapa é conectar o SQL Server ao SQL Server Management Studio. Para fazer isso, siga as etapas abaixo:
Passo 1: Volte, para a janela seguinte, e clique no instalar SSMS opção.
Passo 2: Depois de clicar nessa opção, você será redirecionado para o página seguinte , onde você tem que escolher Baixe o SSMS.
Etapa 3: Após o download da instalação, clique duas vezes no aplicativo e você verá o seguinte assistente abrindo.
Passo 4: Clique em Opção de instalação , na janela acima e você verá que a instalação começará.
Etapa 5: Após a conclusão da instalação, você receberá uma caixa de diálogo conforme mostrado abaixo.
Depois de instalar o SSMS, a próxima etapa é acessar o Mecanismo de Banco de Dados .
Acessando o Database Engine
Quando você abre o Estúdio de gerenciamento de servidor SQL de menu Iniciar , uma janela será aberta semelhante à janela mostrada na imagem abaixo.
Aqui, mencione o nome do servidor, modo de autenticação e clique em Conectar.
Depois de clicar em Conectar , Você verá a seguinte tela.
Bem pessoal, é assim que você instala e configura o SQL Server. Agora, avançando neste tutorial do SQL Server, vamos entender os diferentes componentes da arquitetura do SQL Server.
Arquitetura SQL Server
A arquitetura do SQL Server é a seguinte:
- Servidor & minus Aqui é onde os serviços SQL são instalados e o banco de dados reside
- Motor relacional & minus Contém o analisador de consulta, o otimizador e o executor e a execução ocorre no mecanismo relacional.
- Analisador de Comando & minus Verifica a sintaxe da consulta e converte a consulta em linguagem de máquina.
- Otimizador & minus Prepara o plano de execução como saída, tomando estatísticas, consulta e árvore Algebrator como entrada.
- Executor de consulta & minus Este é o local onde as consultas são executadas passo a passo
- Motor de Armazenamento & minus É responsável pelo armazenamento e recuperação de dados no sistema de armazenamento, manipulação de dados, gerenciamento e bloqueio de transações.
Agora que você sabe como configurar e instalar o SQL Server e seus vários componentes, vamos começar a escrever Servidor. Mas, antes disso, deixe-me cobrir como escrever comentários no SQL Server.
Comentários no SQL Server
Existem duas maneiras de comentar em SQL, ou seja, usar o s comentários online ou o m comentários ulti-line .
Comentários de linha única
Os comentários de uma linha começam com dois hífens (-). Portanto, o texto mencionado após (-), até o final de uma única linha, será ignorado pelo compilador.
Exemplo:
--Exemplo de comentários de uma única linha
Comentários de várias linhas
Os comentários de várias linhas começam com / * e terminam com * / . Portanto, o texto mencionado entre / * e * / será ignorado pelo compilador.
Exemplo:
/ * Exemplo para comentários de várias linhas * /
Agora, neste artigo sobre o tutorial do SQL Server, vamos começar com o primeiro conjunto de comandos, ou seja, comandos da linguagem de definição de dados.
Comandos da linguagem de definição de dados
Esta seção do artigo lhe dará uma idéia sobre os comandos com a ajuda dos quais você pode definir seu banco de dados. Os comandos são os seguintes:
CRIO
Esta instrução é usada para criar uma tabela, banco de dados ou visão.
A declaração ‘CREATE DATABASE’
Esta instrução é usada para criar um banco de dados.
Sintaxe
CRIAR DATABASE DatabaseName
Exemplo
CRIAR BANCO DE DADOS Alunos
O ' CRIAR A TABELA ' Declaração
Como o nome sugere, essa instrução é usada para criar uma tabela.
Sintaxe
CREATE TABLE TableName (tipo de dados Coluna1, tipo de dados Coluna2, tipo de dados Coluna3, .... tipo de dados ColunaN)
Exemplo
CRIAR TABELA StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
SOLTA
Esta instrução é usada para eliminar uma tabela, banco de dados ou exibição existente.
A declaração 'DROP DATABASE'
Esta instrução é usada para descartar um banco de dados existente. As informações completas presentes no banco de dados serão perdidas assim que você executar o comando abaixo.
Sintaxe
DROP DATABASE DatabaseName
Exemplo
DROP DATABASE Alunos
A declaração ‘DROP TABLE’
Esta instrução é usada para eliminar uma tabela existente. As informações completas presentes na tabela serão perdidas assim que você executar o comando abaixo.
Sintaxe
DROP TABLE TableName
Exemplo
DROP TABLE StudentInfo
ERA
O comando ALTER é usado para adicionar, excluir ou modificar colunas ou restrições em uma tabela existente.
O ' ALTERAR A TABELA ' Declaração
Esta instrução é usada para adicionar, excluir e modificar colunas em uma tabela pré-existente.
A instrução 'ALTER TABLE' com ADD / DROP COLUMN
A instrução ALTER TABLE é usada com o comando ADD / DROP Column para adicionar e excluir uma coluna.
Sintaxe
ALTER TABLE TableName ADD ColumnName Datatype ALTER TABLE TableName DROP COLUMN ColumnName
Exemplo
--ADD Coluna Grupo sanguíneo: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Coluna BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
A instrução 'ALTER TABLE' com ALTER COLUMN
A instrução ALTER TABLE pode ser usada com a coluna ALTER para alterar o tipo de dados de uma coluna existente em uma tabela.
Sintaxe
ALTER TABLE Nome da tabela ALTER COLUMN Nome da coluna Tipo de dados
Exemplo
--Adicione uma coluna DOB e altere o tipo de dados de data para data e hora. ALTER TABLE StudentInfo ADD DAB data ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
TRUNCAR
Este comando SQL é usado para excluir as informações presentes na tabela, mas não exclui a própria tabela. Portanto, se você quiser deletar a informação presente na tabela, e não deletar a própria tabela, você deve usar o comando TRUNCATE. Caso contrário, use o comando DROP.
Sintaxe
TRUNCATE TABLE TableName
Exemplo
TRUNCATE TABLE StudentInfo
RENOMEAR
Esta instrução é usada para renomear uma ou mais tabelas.
Sintaxe
sp_rename 'OldTableName', 'NewTableName'
Exemplo
sp_rename 'StudentInfo', 'Infostudents'
Continuando neste artigo no tutorial do SQL Server, vamos entender os diferentes tipos de dados suportados pelo SQL Server.
Tipos de dados do SQL Server
Categoria de tipo de dados | Nome do tipo de dados | Descrição | Intervalo / sintaxe |
Números exatos | numérico | Usado para armazenar valores numéricos e ter precisão fixa e números de escala | - 10 ^ 38 +1 a 10 ^ 38 - 1. |
tinyint | Usado para armazenar valores inteiros | 0 a 255 | |
smallint | Usado para armazenar valores inteiros | -2 ^ 15 (-32.768) a 2 ^ 15-1 (32.767) | |
bigint | Usado para armazenar valores inteiros | -2 ^ 63 (-9.223.372.036.854.775.808) a 2 ^ 63-1 (9.223.372.036.854.775.807) | |
int | Usado para armazenar valores inteiros | -2 ^ 31 (-2.147.483.648) a 2 ^ 31-1 (2.147.483.647) | |
mordeu | Armazena um tipo de dados inteiro que registra um valor de 0, 1 ou NULL | 0, 1 ou NULL | |
decimal | Usado para armazenar valores numéricos e ter precisão fixa e números de escala | - 10 ^ 38 +1 a 10 ^ 38 - 1. | |
dinheirinho | Usado para armazenar dinheiroou valores monetários. | - 214.748,3648 a 214.748.3647 | |
dinheiro | Usado para armazenar dinheiroou valores monetários. | -922.337.203.685.477.5808 a 922.337.203.685.477.5807 (-922.337.203.685.477,58 para 922.337.203.685.477,58 para Informatica. | |
Numéricos aproximados | flutuador | Usado para armazenar dados numéricos de ponto flutuante | - 1,79E + 308 a -2,23E-308, 0 e 2,23E-308 a 1,79E + 308 |
real | Usado para armazenar dados numéricos de ponto flutuante | - 3,40E + 38 a -1,18E - 38, 0 e 1,18E - 38 a 3,40E + 38 | |
Data e hora | encontro | Usado para definir uma data no SQL Server. | Sintaxe: data |
smalldatetime | Utilizado para definir uma data combinada com uma hora do dia em que a hora é baseada em um dia de 24 horas, com segundos sempre zero (: 00) e sem segundos fracionários. | Sintaxe: smalldatetime | |
data hora | Usado para definir uma data que é combinada com uma hora do dia com segundos fracionários com base em um relógio de 24 horas. | Sintaxe: datetime | |
datetime2 | datetime2 é como uma extensão do existente data hora tipo que tem uma precisão fracionária padrão maior, um intervalo de datas maior. | Sintaxe: datetime2 | |
datetimeoffset | Usado para definir uma data que é combinada com uma hora do dia que tem reconhecimento de fuso horário. Ele se baseia em um relógio de 24 horas. | Sintaxe: datetimeoffset | |
Tempo | Usado para definir uma hora do dia. | Sintaxe: tempo | |
Strings de caracteres | Caracteres | Usado para armazenar caracteres de tamanho fixo. | Caracteres[( n )] onde o valor n varia de 1 - 8.000 |
varchar | Usado para armazenar caracteres de comprimento variável. | varchar [( n | max)] onde o valor n varia de 1-8000 e o armazenamento máximo permitido é de 2 GB. | |
texto | Usado para armazenar vdados não Unicode de comprimento ariável | Comprimento máximo de string permitido - 2 ^ 31-1 (2.147.483.647) | |
Strings de caracteres Unicode | nchar | Usado para armazenar caracteres de tamanho fixo. | nchar[(n)] onde o valor n varia de 1-4000 |
nvarchar | Usado para armazenar caracteres de comprimento variável. | varchar [( n | max)] onde o valor de n varia de 1-4000 e o armazenamento máximo permitido é de 2 GB. | |
ntext | Usado para armazenar dados Unicode de comprimento variável | Comprimento máximo de string permitido - 2 ^ 30-1 (2.147.483.647) | |
Strings binárias | binário | Usado para armazenar tipos de dados binários de comprimento fixo | binário[( n )] onde o valor n varia de 1 - 8.000 |
varbinary | Usado para armazenar tipos de dados binários de comprimento fixo | varbinary[( n )] onde o valor n varia de 1-8000 e o armazenamento máximo permitido é 2 ^ 31-1 bytes. | |
imagem | Usado para armazenar dados binários de comprimento variável | 0 - 2 ^ 31-1 (2.147.483.647) bytes | |
Outros tipos de dados | É um tipo de dados para procedimento armazenado ou parâmetros de saída de variáveis que contêm uma referência a um cursor. | - | |
Rowversion | Usado para expor números binários exclusivos gerados automaticamente em um banco de dados. | - | |
hierarquizado | Usado para representar a posição em uma hierarquia. | - | |
identificador único | É um GUID de 16 bytes. | Sintaxe:identificador único | |
sql_variant | Usado para armazenar os valores de vários tipos de dados com suporte do SQL Server | Sintaxe: sql_variant | |
xml | Usado para armazenar o tipo de dados XML. | xml ([CONTEÚDO | DOCUMENTO] xml_schemacollection) | |
Tipos de geometria espacial | Usado para representar dados em um sistema de coordenadas euclidianas (planas). | - | |
Tipos de geografia espacial | Usado para armazenar dados elipsoidais (terra redonda), como latitude GPS e coordenadas de longitude. | - | |
mesa | Usado para armazenar um conjunto de resultados para processamento posterior | - |
A seguir, neste artigo, vamos entender os diferentes tipos de chaves e restrições no banco de dados.
Diferentes tipos de chaves no banco de dados
A seguir estão os diferentes tipos de chaves usadas no banco de dados:
- Chave candidata - Candidate Key é um conjunto de atributos que podem identificar exclusivamente uma tabela. Uma tabela pode ter mais de uma única chave candidata e, das chaves candidatas escolhidas, uma delas é escolhida como a Chave Primária.
- Super Key - O conjunto de atributos pode identificar exclusivamente uma tupla. Portanto, as chaves candidatas, as chaves exclusivas e as chaves primárias são superchaves, mas o vice-versa não é verdade.
- Chave primária - Chaves primárias são usados para identificar exclusivamente cada tupla.
- Chave alternativa - Chaves alternativas são aquelas chaves candidatas que não são escolhidas como chave primária.
- Chave única- As chaves exclusivas são semelhantes à chave primária, mas permitem um único valor NULL na coluna.
- Chave estrangeira - Um atributo que só pode assumir os valores presentes como os valores de algum outro atributo é o chave estrangeira ao atributo a que se refere.
- Chave composta- As chaves compostas são uma combinação de duas ou mais colunas que identificam cada tupla de maneira única.
Restrições usadas no banco de dados
As restrições são usadas em um banco de dados para especificar as regras para os dados armazenados em uma tabela. Os diferentes tipos de restrições em SQL são como segue:
NÃO NULO
A restrição NOT NULL garante que uma coluna não possa ter um valor NULL.
Exemplo
CRIAR TABELA 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 em ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
ÚNICO
Essa restrição garante que todos os valores em uma coluna sejam exclusivos.
Exemplo
--UNIQUE ao criar tabela CRIAR TABELA StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Cidade varchar (8000), País varchar ( 8000)) --UNIQUE em várias colunas CRIAR TABELA 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) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE em ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --para descartar uma restrição UNIQUE ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
VERIFICA
A restrição CHECK garante que todos os valores em uma coluna satisfaçam uma condição específica.
Exemplo
--CHECK Restrição em CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Cidade varchar (8000), País varchar ( 8000) CHECK (Country = 'India')) --CHECK Restrição em várias colunas CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Cidade varchar (8000), País varchar (8000) CHECK (Country = 'Índia' AND City = 'Hyderabad')) --CHECK Restrição em ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') - para dar um nome para a restrição CHECK ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'Índia') --para descartar uma restrição CHECK ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName
PADRÃO
A restrição DEFAULT consiste em um conjunto de valores padrão para uma coluna quando nenhum valor é especificado.
Exemplo
- Restrição DEFAULT em CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Cidade varchar (8000), País varchar (8000) DEFAULT 'Índia') --Restrição DEFAULT em ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'Índia' FOR Country --para descartar a restrição padrão ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
ÍNDICE
o Restrição INDEX é usado para criar índices na tabela, por meio dos quais você pode criar e recuperar dados do banco de dados muito rapidamente.
Sintaxe
--Crie um índice onde valores duplicados são permitidos CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Crie um índice onde valores duplicados não são permitidos CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN)
Exemplo
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - Para deletar um índice em uma tabela DROP INDEX StudentsInfo.idex_StudentName
Avançando neste artigo sobre o tutorial do SQL Server, vamos agora entender os diferentes comandos da Linguagem de Manipulação de Dados usados no Microsoft SQL Server.
Comandos da linguagem de manipulação de dados
Esta seção do artigo cobrirá todos os comandos por meio dos quais você pode manipular o banco de dados. Os comandos são os seguintes:
Além desses comandos, existem também outros operadores / funções manipulativos, como:
USAR
Esta instrução é usada para selecionar o banco de dados para iniciar a execução de várias operações nele.
Sintaxe
USE DatabaseName
Exemplo
USE Alunos
INSIRA DENTRO DE
o Instrução INSERT INTO é usado para inserir novos registros em uma tabela existente.
Sintaxe
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) --Se você não quiser mencionar os nomes das colunas, use a sintaxe abaixo INSERT INTO TableName VALUES (Valor1, Valor2, Valor3, ...)
Exemplo
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 ',' Índia ')
ATUALIZAR
A instrução UPDATE é usada para modificar ou atualizar os registros já presentes na tabela.
Sintaxe
UPDATE TableName SET Coluna1 = Valor1, Coluna2 = Valor2, ... WHERE Condição
Exemplo
ATUALIZAR StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1
EXCLUIR
A instrução DELETE é usada para excluir os registros existentes em uma tabela.
Sintaxe
DELETE FROM TableName WHERE Condition
Exemplo
DELETE FROM StudentsInfo WHERE StudentName = 'Aahana'
IR
A instrução MERGE é usada para executar as operações INSERT, UPDATE e DELETE em uma tabela específica, onde a tabela de origem é fornecida. Consulte abaixo.
Sintaxe
MERGE TagretTableName USANDO SourceTableName ON MergeCondition WHEN MATCHED THEN Update_Statement WHEN NOT MATCHED THEN Insert_Statement WHEN NOT MATCHED BY SOURCE THEN DELETE
Exemplo
Para compreender a instrução MERGE, considere as seguintes tabelas como a tabela de origem e a tabela de destino.
Tabela de origem:
Identidade estudantil | Nome do aluno | Marcas |
1 | eu odeio | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tabela de destino:
Identidade estudantil | Nome do aluno | Marcas |
1 | eu odeio | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
MERGE SampleTargetTable TARGET USANDO SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) QUANDO MATCHED E TARGET.StudentName SOURCE.StudentName OU TARGET.Marks SOURCE.Marks THEN UPDATE = SET TARGET.StudentName.StudentName SOURCE.StudentName OU TARGET.Marks SOURCE.Marks THEN UPDATE = SET TARGET.StudentName = SOURCE.StudentName.SOURCE QUANDO NÃO CORRESPONDENTE AO TARGET THEN INSERT (StudentID, StudentName, Marks) VALORES (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) QUANDO NÃO CORRESPONDENTE À FONTE ENTÃO DELETE
Resultado
Identidade estudantil | Nome do aluno | Marcas |
1 | eu odeio | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
SELECIONE
o Instrução SELECT é usado para selecionar dados de um banco de dados, tabela ou exibição. Os dados retornados são armazenados em uma tabela de resultados, chamada de conjunto de resultados .
Sintaxe
SELECT Column1, Column2, ... ColumN FROM TableName - (*) é usado para selecionar todos da tabela SELECT * FROM table_name - Para selecionar o número de registros a serem retornados, use: SELECT TOP 3 * FROM TableName
Exemplo
- Para selecionar algumas colunas SELECT StudentID, StudentName FROM StudentsInfo - (*) é usado para selecionar todos da tabela SELECT * FROM StudentsInfo - Para selecionar o número de registros a serem retornados, use: SELECT TOP 3 * FROM StudentsInfo
Também podemos usar as seguintes palavras-chave com a instrução SELECT:
DISTINTO
A palavra-chave DISTINCT é usada com a instrução SELECT para retornar apenas valores diferentes.
Sintaxe
SELECT DISTINCT Column1, Column2, ... ColumnN FROM TableName
Exemplo
SELECIONE DISTINCT PhoneNumber FROM StudentsInfo
ORDENAR POR
Esta instrução é usada para classificar os resultados necessários em ordem crescente ou decrescente. Por padrão, os resultados são armazenados em ordem crescente. No entanto, se você deseja obter os resultados em ordem decrescente, você deve usar o DESC palavra-chave.
Sintaxe
SELECIONE Coluna1, Coluna2, ... ColunaN FROM TableName ORDER BY Coluna1, Coluna2, ... ASC | DESC
Exemplo
- Selecione todos os alunos da tabela 'StudentsInfo' classificados por ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Selecione todos os alunos da tabela 'StudentsInfo' classificados por ParentName em ordem decrescente: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Selecione todos os alunos da tabela 'StudentsInfo' classificados por ParentName e StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Selecione todos os alunos da tabela 'StudentsInfo' classificados por ParentName em ordem decrescente e StudentName em ordem crescente: * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC
GRUPO POR
Esta declaração é usada com o funções agregadas para agrupar o conjunto de resultados por uma ou mais colunas.
Sintaxe
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Condição GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Exemplo
- Listar o número de alunos de cada cidade. SELECT COUNT (StudentID), City FROM StudentsInfo GROUP BY City
GRUPO SETS
GROUPING SETS foram introduzidos no SQL Server 2008, usados para gerar um conjunto de resultados que pode ser gerado por um UNION ALL das várias cláusulas GROUP BY simples.
Sintaxe
SELECT ColumnNames (s) FROM TableName GROUP BY GROUPING SETS (ColumnName (s))
Exemplo
SELECIONE StudentID, StudentName, COUNT (City) do StudentsInfo Group BY GROUPING SETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
TENDO
Esta cláusula é usada no cenário onde o Palavra-chave WHERE não pode ser usado.
Sintaxe
SELECT ColumnName (s) FROM TableName WHERE Condição GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)
Exemplo
SELECT COUNT (StudentID), City FROM StudentsInfo GROUP BY City HAVING COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC
PARA DENTRO
A palavra-chave INTO pode ser usada com o Instrução SELECT para copiar dados de uma tabela para outra. Bem, você pode entender essas tabelas como tabelas temporárias. As tabelas temporárias geralmente são utilizadas para realizar manipulações nos dados presentes na tabela, sem perturbar a tabela original.
Sintaxe
SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Condition
Exemplo
- Para criar um backup da tabela 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Para selecionar apenas algumas colunas de StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
CUBO
CUBE é uma extensão do Cláusula GROUP BY . Ele permite que você gere os subtotais para todas as combinações das colunas de agrupamento especificadas na cláusula GROUP BY.
Sintaxe
SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Exemplo
SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID
ROLAR
ROLLUP é uma extensão da cláusula GROUP BY. Isso permite que você inclua as linhas extras que representam os subtotais. Eles são chamados de linhas superagregadas junto com a linha de total geral.
Sintaxe
SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Exemplo
SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY ROLLUP (StudentID)
DESLOCAMENTO
A cláusula OFFSET é usada com o SELECT e Instrução ORDER BY para recuperar uma série de registros. Deve ser usado com a cláusula ORDER BY, pois não pode ser usado sozinho. Além disso, o intervalo que você mencionou deve ser igual ou maior que 0. Se você mencionar um valor negativo, ele mostrará um erro.
Sintaxe
SELECT ColumnNames) FROM TableName WHERE Condição ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS
Exemplo
Considere uma nova coluna Marcas no StudentsInfo mesa.
SELECIONE o nome do aluno, o nome do pai, FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS
BUSCAR
A cláusula FETCH é usada para retornar um conjunto de várias linhas. Deve ser usado em conjunto com a cláusula OFFSET.
Sintaxe
SELECT ColumnNames) FROM TableName WHERE Condição ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY
Exemplo
SELECIONE o nome do aluno, o nome do pai DE StudentsInfo ORDER BY Marks OFFSET 1 ROWS FETCH NEXT 1 ROWS
TOPO
A cláusula TOP é usada com a instrução SELECT para mencionar o número de registros a serem retornados.
Sintaxe
SELECIONE NÚMERO SUPERIOR Nome da coluna (s) FROM Nome da tabela WHERE Condição
Exemplo
SELECIONE OS 3 PRINCIPAIS * DE StudentsInfo
PIVÔ
PIVOT é usado para girar as linhas para valores de coluna e executa agregações quando necessário nos valores de coluna restantes.
Sintaxe
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 query que produz os dados) AS [alias para a consulta inicial] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName da coluna cujos valores se tornarão cabeçalhos de coluna] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last coluna dinâmica])) AS [alias para a tabela dinâmica]
Exemplo
Para obter um exemplo detalhado, você pode consultar meu artigo sobre SQL PIVOT e UNPIVOT . A seguir, neste tutorial do SQL Server, vamos examinar os diferentes operadores suportados pelo Microsoft SQL Server.
Operadores
o diferentes tipos de operadores suportados pelo SQL Server são os seguintes:
- Operadores aritméticos
- Operadores de atribuição
- Operadores bit a bit
- Operadores de comparação
- Operadores compostos
- Operadores lógicos
- Operadores de resolução de escopo
- Operadores de conjunto
- Operadores de concatenação de strings
Vamos discutir cada um deles um por um.
Operadores aritméticos
Operador | Significado | Sintaxe |
+ | Adição | expressão + expressão |
- | Subtração | expressão - expressão |
* | Multiplicação | expressão * expressão |
/ | Divison | expressão / expressão |
% | Modulous | expressão% expressão |
Operadores de atribuição
Operador | Significado | Sintaxe |
= | Atribuir um valor a uma variável | variável = ‘valor’ |
Operadores bit a bit
Operador | Significado | Sintaxe |
& (Bit a bit AND) | Usado para realizar uma operação AND lógica bit a bit entre dois valores inteiros. | expressão e expressão |
& = (Bit a bit E atribuição) | Usado para realizar uma operação AND lógica bit a bit entre dois valores inteiros. Ele também define um valor para a saída da operação. | expressão & = expressão |
| (Bit a bit OR) como reverter um número | Usado para realizar uma operação OR lógica bit a bit entre dois valores inteiros, conforme convertidos em expressões binárias nas instruções Transact-SQL. | expressão | expressão |
| = (Atribuição OR bit a bit) | Usado para realizar uma operação OR lógica bit a bit entre dois valores inteiros, conforme convertidos em expressões binárias nas instruções Transact-SQL. Ele também define um valor para a saída da operação. | expressão | = expressão |
^ (OU exclusivo bit a bit) | Usado para realizar uma operação OR exclusiva bit a bit entre dois valores inteiros. | expressão ^ expressão |
^ = (Exclusivo bit a bit OU atribuição) | Usado para realizar uma operação OR exclusiva bit a bit entre dois valores inteiros. Ele também define um valor para a saída da operação. | expressão ^ = expressão |
~ (NÃO bit a bit) | Usado para realizar uma operação NOT lógica bit a bit em um valor inteiro. | ~ expressão |
Operadores de comparação
Operador | Significado | Sintaxe |
= | Igual a | expressão = expressão |
> | Maior que | expressão> expressão |
< | Menor que | expressão |
> = | Melhor que ou igual a | expressão> = expressão |
<= | Menos que ou igual a | expressão<= expression |
Diferente de | expressão expressão | |
! = | Diferente de | expressão! = expressão |
!< | Não menos que | expressão! |
!> | Não maior que | expressão!> expressão |
Operadores compostos
Operador | Significado | Sintaxe |
+ = | Usado para adicionar valor ao valor original e definir o valor original para o resultado. | expressão + = expressão |
- = | Usado para subtrair um valor do valor original e definir o valor original para o resultado. | expressão - = expressão |
* = | Usado para multiplicar o valor pelo valor original e definir o valor original para o resultado. | expressão * = expressão |
/ = | Usado para dividir um valor do valor original e definir o valor original para o resultado. | expressão / = expressão |
% = | Usado para dividir um valor do valor original e definir o valor original para o resultado. | expressão% = expressão |
& = | Usado para realizar uma operação AND bit a bit e definir o valor original para o resultado. | expressão & = expressão |
^ = | Usado para realizar uma operação OR exclusiva bit a bit e definir o valor original para o resultado. | expressão ^ = expressão |
| = | Usado para realizar uma operação OR bit a bit e definir o valor original para o resultado. | expressão | = expressão |
Operadores lógicos
Operador | Significado | Sintaxe |
TODOS | Retorna TRUE se todos os conjuntos de comparações forem TRUE. | scalar_expression! = ALL (subconsulta) |
E | Retorna TRUE se ambas as expressões forem TRUE. | boolean_expression AND boolean_expression |
QUALQUER | Retorna TRUE se qualquer um de um conjunto de comparações for TRUE. | scalar_expression! = {ANY} (subconsulta) |
ENTRE | Retorna TRUE se um operando estiver dentro de um intervalo. | expressão da amostra [NÃO] ENTRE a expressão inicial E a expressão final |
EXISTE | Retorna TRUE se uma subconsulta contiver alguma linha. | EXISTS (sub query) |
DENTRO | Retorna TRUE se um operando for igual a um de uma lista de expressões. | test_expression [NOT] IN (subconsulta | expressão [,… n]) |
Retorna TRUE se um operando corresponder a um padrão. | match_expression [NOT] LIKE padrão [ESCAPE escape_character] | |
NÃO | Reverte o valor de qualquer operador booleano. | [NOT] boolean_expression |
OU | Retorna TRUE se qualquer uma das expressões booleanas for TRUE. | boolean_expression OR boolean_expression |
ALGUNS | Retorna TRUE se algum de um conjunto de comparações for TRUE. | scalar_expression<= { SOME} ( subquery ) |
Operadores de resolução de escopo
Operador | Significado | Exemplo |
:: | Fornece acesso a membros estáticos de um tipo de dados composto. Tipos de dados compostos são aqueles tipos de dados que contêm vários métodos e tipos de dados simples. Tipos de dados compostos Incluem os tipos CLR integrados e os tipos definidos pelo usuário (UDTs) SQLCLR personalizados. | DECLARAR @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Operadores de conjunto
Existem basicamente três operações definidas:UNIÃO,INTERSECT,MENOS. Você pode consultar a imagem abaixo para entender as operações definidas no SQL. Consulte a imagem abaixo:
Operador | Significado | Sintaxe |
UNIÃO | O operador UNION é usado para combinar o conjunto de resultados de duas ou mais instruções SELECT. | SELECIONE Nome (s) da Coluna (s) DA Tabela1 UNIÃO SELECIONE nome (s) da coluna DA Tabela 2 |
INTERSECT | A cláusula INTERSECT é usada para combinar doisSELECIONEinstruções e retornar a interseção dos conjuntos de dados de ambas as instruções SELECT. | SELECIONE Coluna1, Coluna2…. FROM TableName ONDE condição INTERSECT SELECIONE Coluna1, Coluna2…. FROM TableName ONDE condição |
EXCETO | O operador EXCEPT retorna as tuplas que são retornadas pela primeira operação SELECT e não são retornadas pela segunda operação SELECT. | SELECT ColumnName FROM TableName EXCETO SELECT ColumnName FROM TableName |
Operadores de string
Operador | Significado | Sintaxe / Exemplo |
+ (Concatenação de String) | Concatena duas ou mais strings binárias ou de caracteres, colunas ou uma combinação de strings e nomes de colunas em uma única expressão | expressão + expressão |
+ = (Concatenação de String) | Usado para concatenar duas strings e define a string para o resultado da operação. | expressão + = expressão |
% (Caracteres curinga para combinar) | Usado para corresponder a qualquer string de zero ou mais caracteres. | Exemplo: ‘amostra%’ |
[] (Caracteres curinga para combinar) | Usado para corresponder a um único caractere dentro do intervalo especificado ou conjunto que é especificado entre colchetes []. | Exemplo: m [n-z]% ’ |
[^] (Caracteres curinga para corresponder) | Usado para corresponder a um único caractere que não está dentro do intervalo ou conjunto especificado entre os colchetes. | Exemplo: ‘Al [^ a]%’ |
_ (Caracteres curinga para corresponder) | Usado para combinar um único caractere em uma operação de comparação de string | test_expression [NOT] IN (subconsulta | expressão [,… n]) |
Agregar Funções
O diferente funções agregadas suportados pelo SQL Server são os seguintes:
Função | Descrição | Sintaxe | Exemplo |
SOMA() | Usado para retornar a soma de um grupo de valores. | SELECT SUM (ColumnName) FROM TableName | SELECIONE SUM (marcas) de StudentsInfo |
CONTAGEM() | Retorna o número de linhas com base em uma condição ou sem uma condição. | SELECT COUNT (ColumnName) FROM TableName WHERE Condition | SELECIONE COUNT (StudentID) FROM StudentsInfo |
AVG () | Usado para calcular o valor médio de uma coluna numérica. | SELECIONE AVG (ColumnName) FROM TableName | SELECIONE AVG (marcas) em StudentsInfo |
MIN () | Esta função retorna o valor mínimo de uma coluna. | SELECT MIN (ColumnName) FROM TableName | SELECIONE MIN (marcas) de StudentsInfo |
MAX () | Retorna o valor máximo de uma coluna. | SELECT MAX (ColumnName) FROM TableName | SELECIONE MAX (marcas) de StudentsInfo |
PRIMEIRO() | Usado para retornar o primeiro valor da coluna. | SELECIONE FIRST (ColumnName) FROM TableName | SELECIONE PRIMEIRO (marcas) em StudentsInfo |
ÚLTIMO() | Esta função retorna o último valor da coluna. | SELECIONE LAST (ColumnName) FROM TableName | SELECIONE ÚLTIMO (marcas) em StudentsInfo |
Funções definidas pelo usuário
O Microsoft SQL Server permite que os usuários criem funções definidas pelo usuário que são rotinas. Essas rotinas aceitam parâmetros, podem realizar ações simples a complexas e retornar o resultado dessa ação específica como um valor. Aqui, o valor retornado pode ser um valor escalar único ou um conjunto de resultados completo.
Você pode usar funções definidas pelo usuário para:
- Permitir programação modular
- Reduza o tráfego de rede
- Permitir a execução mais rápida de consultas
Além disso, existem diferentes tipos de funções definidas pelo usuário que você pode criar. Eles são:
- Funções escalares: Costumavaretornar um único valor de dados do tipo definido na cláusula RETURNS.
- Funções com valor de tabela: Costumavadevolver ummesatipo de dados.
- Funções do sistema: Uma variedade de funções do sistema são fornecidas pelo SQL Server para executar diferentes operações.
Bem, além das funções definidas pelo usuário, há um monte de funções embutidas no SQL Server que podem ser usadas para realizar uma variedade de tarefas. Continuando neste artigo no tutorial do SQL Server, vamos agora entender o que são consultas aninhadas.
Consultas aninhadas
Consultas aninhadas são aquelas consultas que possuem uma consulta externa e uma subconsulta interna. Então, basicamente, a subconsulta é uma consulta aninhada em outra consulta, como SELECT, INSERT, UPDATE ou DELETE. Consulte a imagem abaixo:
A seguir, neste tutorial do SQL Server, vamos entender os diferentes tipos de junções no SQL.
Junta-se
são usados para combinar tuplas de duas ou mais tabelas, com base em uma coluna relacionada entre as tabelas. Existem quatro tipos de junções:
- JUNÇÃO INTERNA: Retorna registros que possuem valores correspondentes em ambas as tabelas.
- ASSOCIAÇÃO À ESQUERDA: Retorna registros da tabela da esquerda e também aqueles registros que satisfazem a condição da tabela da direita.
- JUNTAR À DIREITA: Retorna registros da tabela da direita e também aqueles registros que satisfazem a condição da tabela da esquerda.
- FULL JOIN: Retorna registros que possuem uma correspondência na tabela da esquerda ou da direita.
Considere a seguinte tabela junto com a tabela StudentsInfo, para entender a sintaxe das junções.
SubjectID | Identidade estudantil | Nome do tópico |
10 | 10 | Matemáticas |
2 | onze | Física |
3 | 12 | Química |
JUNÇÃO INTERNA
Sintaxe
SELECT ColumnName (s) DA Tabela 1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemplo
SELECT Subjects.SubjectID, StudentsInfo.StudentName DE Assuntos INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
ASSOCIAÇÃO À ESQUERDA
Sintaxe
SELECT ColumnName (s) DA Tabela 1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemplo
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Assuntos ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
JUNTAR À DIREITA
Sintaxe
SELECT ColumnName (s) DA Tabela 1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemplo
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Assuntos ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
FULL JOIN
Sintaxe
SELECT ColumnName (s) DA Tabela 1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemplo
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Assuntos ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
A seguir, neste artigo sobre o tutorial do SQL Server, vamos entender os diferentes tipos de loops suportados pelo SQL Server.
rotações
Os diferentes comandos de controle de fluxo são os seguintes:
Vamos discutir cada um deles um por um.
BEGIN..END
Essas palavras-chave são utilizadas para incluir uma série de instruções SQL. Então, este grupo de instruções SQL pode ser executado.
Sintaxe
Instrução BEGINBlock END
PAUSA
Esta instrução é usada para sair do loop WHILE atual. No caso, o loop WHILE atual está aninhado dentro de outro loop, então a instrução BREAK sai apenas do loop atual e o controle é passado para a próxima instrução no loop atual. A instrução BREAK é geralmente usada dentro de uma instrução IF.
Sintaxe
PAUSA
CONTINUAR
A instrução CONTINUE é usada para reiniciar um loop WHILE. Portanto, quaisquer declarações após a palavra-chave CONTINUE serão ignoradas.
Sintaxe
CONTINUAR
Aqui, Rótulo é o ponto após o qual o processamento começa se um GOTO for direcionado para aquele rótulo específico.
VAMOS PARA
Usado para alterar o fluxo de execução para um rótulo. As instruções escritas após a palavra-chave GOTO são ignoradas e o processamento continua no rótulo.
Sintaxe
Definir etiqueta: Etiqueta: Alterar execução: Etiqueta GOTO
Aqui, Rótulo é o ponto após o qual o processamento começa se um GOTO for direcionado para aquele rótulo específico.
SE..ELSE
Como qualquer outra linguagem de programação, a instrução If-else no SQL Server testa a condição e se a condição for falsa, então a instrução ‘else’ é executada.
Sintaxe
IF BooleanExpression StatementBlock [ELSE StatementBlock]
RETORNA
Usado para sair incondicionalmente de uma consulta ou procedimento. Portanto, as instruções que são escritas após a cláusula RETURN não são executadas.
Sintaxe
RETURN [IntegerExpression]
Aqui, um valor inteiro é retornado.
ESPERAR POR
O fluxo de controle WAITFOR é usado para bloquear a execução de um procedimento armazenado, transação ou lote até que uma instrução específica seja modificada, retorne pelo menos uma linha ou um tempo especificado ou intervalo de tempo decorrido.
o que é a linguagem de programação sas
Sintaxe
WAITFOR (GetConversionGroupStatement)] [, TIMEOUT tempo limite]
Onde,
- DEMORA - Período de tempo que deve passar
- TimeToPass - Pperíodo de tempo para esperar
- TEMPO - Ohora em que o procedimento armazenado, transação ou lote é executado.
- TimeToExecute - Ohora em que a instrução WAITFOR termina.
- RecieveStatement - PARAdeclaração RECEIVE válida.
- GetConversionGroupStatement - PARAdeclaração GET CONVERSATION GROUP válida.
- TIMEOUT tempo limite - Especifica o período de tempo, em milissegundos, para aguardar a chegada de uma mensagem na fila.
ENQUANTO
Este loop é usado para definir uma condição para a execução repetida de uma instrução SQL específica ou de um bloco de instrução SQL. As instruções são executadas enquanto a condição mencionada pelo usuário for TRUE. Assim que a condição falha, a execução do loop é interrompida.
Sintaxe
WHILE BooleanExpression StatementBlock
Agora que vocês conhecem os comandos DML, vamos passar para nossa próxima seçãoneste artigo sobre SQL Tutorial, ou seja, os comandos DCL.
Comandos de linguagem de controle de dados (DCL)
Esta seção do tutorial do SQL Server dará a você uma ideia sobre os comandos por meio dos quais são usados para reforçar a segurança do banco de dados em vários ambientes de banco de dados de usuário. Os comandos são os seguintes:
CONCEDER
O comando GRANT é usado para fornecer acesso ou privilégios no banco de dados e seus objetos aos usuários.
Sintaxe
GRANT PrivilegeName ON ObjectName TO RoleName [WITH GRANT OPTION]
Onde,
- PrivilegeName - É o privilégio / direito / acesso concedido ao usuário.
- ObjectName - Nome de um objeto de banco de dados como TABLE / VIEW / STORED PROC.
- Nome do usuário - Nome do usuário que tem acesso / direitos / privilégios.
- PÚBLICO - Para conceder direitos de acesso a todos os usuários.
- Nome do papel - O nome de um conjunto de privilégios agrupados.
- COM OPÇÃO DE GRANT - Para dar ao usuário acesso para conceder direitos a outros usuários.
Exemplo
- Para conceder permissão SELECT à tabela StudentsInfo para o usuário1 GRANT SELECT ON StudentsInfo TO user1
REVOGAR
O comando REVOKE é usado para retirar os privilégios de acesso do usuário dados usando o comando GRANT.
Sintaxe
REVOGAR PrivilegeName ON ObjectName FROM PUBLIC
Exemplo
- Para revogar a permissão concedida do usuário1 REVOKE SELECT ON StudentsInfo TO user1
Continuando neste tutorial do SQL Server, vamos entender como criar e usar procedimentos armazenados.
Procedimentos armazenados
Procedimentos armazenados são unidades reutilizáveis que encapsulam uma lógica de negócios específica do aplicativo. Portanto, é um grupo de instruções SQL e lógicas, compiladas e armazenadas juntas para realizar uma tarefa específica.
Sintaxe
CRIAR [OU SUBSTITUIR] PROCEDIMENTO nome_do_procedimento [(nome_do_parâmetro [IN | OUT | IN OUT] tipo [])] IS BEGIN [seção_declaração] seção_executável // Instrução SQL usada no procedimento armazenado END GO
Exemplo
--Crie um procedimento que retornará um nome de aluno quando o StudentId for fornecido como o parâmetro de entrada para o procedimento armazenado Criar PROCEDURE GetStudentName (@StudentId INT, --Parâmetro de entrada, @StudName VARCHAR (50) OUT - Parâmetro de saída, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END
Passos para executar:
- Declare @StudName como nvarchar (50)
- EXEC GetStudentName 01, saída @StudName
- SELECT @StudName
O procedimento acima retorna o nome de um aluno específico,em fornecer a id dos alunos como entrada. A seguir, neste tutorial do SQL Server, vamos entender os comandos da linguagem de controle de transação.
Comandos de linguagem de controle de transação (TCL)
Esta seção do tutorial do SQL Server lhe dará uma visão dos comandos usados para gerenciar transações no banco de dados.Os comandos são os seguintes:
COMPROMETA-SE
O comando COMMIT é usado para salvar a transação no banco de dados.
Sintaxe
COMPROMETA-SE
ROLLBACK
O comando ROLLBACK é usado para restaurar o banco de dados para o último estado consolidado.
Sintaxe
ROLLBACK
NOTA: Ao usar o ROLLBACK com SAVEPOINT, você pode pular diretamente para um ponto de salvamento em uma transação em andamento. Sintaxe: ROLLBACK TO SavepointName
SALVAR PONTO
O comando SAVEPOINT é usado para salvar temporariamente uma transação. Então, se você deseja reverter para qualquer ponto, você pode salvar esse ponto como um ‘SAVEPOINT’.
Sintaxe
SAVEPOINT SAVEPOINTNAME
Considere a tabela abaixo para entender o funcionamento das transações no banco de dados.
Identidade estudantil | Nome do aluno |
1 | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Agora, use o abaixo para entender as transações no banco de dados.
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 ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable
A seguir, neste artigo sobre o tutorial do SQL Server, vamos entender como lidar com exceções no Transact-SQL.
Manipulação de exceção
Existem dois tipos de exceções, ou seja, as exceções definidas pelo sistema e as exceções definidas pelo usuário. Como o nome sugere, o tratamento de exceções é um processo pelo qual um usuário pode tratar as exceções geradas. Para lidar com exceções, você deve compreender as seguintes instruções de fluxo de controle:
LANÇAR
Esta cláusula é usada para gerar uma exceção e transferir a execução para um bloco CATCH de uma construção TRY… CATCH.
Sintaxe
THROW [ErrorNumber, @localvariable, State] []
Onde,
- ErrorNumber - PARAconstante ou variável que representa a exceção.
- mensagem - PARAvariável ou string que descreve a exceção.
- Estado -Uma constante ou variável entre 0 e 255 que indica o estado a ser associado à mensagem.
THROW 51000, 'O registro não existe.', 1
TENTE..CATCH
Usado para implementar o tratamento de exceções no Transact-SQL. Um grupo de instruções pode ser incluído no bloco TRY. No caso de ocorrer um erro no bloco TRY, o controle é passado para outro grupo de instruções que estão incluídas em um bloco CATCH.
Sintaxe
BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH
DENTRO Com isso, chegamos ao final deste artigo no Tutorial do SQL Server. Espero que você tenha gostado de ler este artigo Tutorial do SQL Server para iniciantes.Eu Se você deseja obter um treinamento estruturado em MySQL, consulte nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Este treinamento o ajudará a entender o MySQL em profundidade e a obter domínio sobre o assunto. Tem alguma questão para nós? Mencione-o na seção de comentários de ” Tutorial do SQL Server ”E eu voltarei para você.