SQL Server - Realizando 10 Consultas SQL básicas - II |
No artigo de hoje vou mostrar como realizar algumas consultas SQL no banco de dados SQL Server (estou usando a versão 2012 Express ) de uma forma sucinta, prática e objetiva. |
Vamos continuar com as consultas SQL que iniciamos na primeira parte deste artigo.
6 - Redefinindo a semente na coluna Identity
Imagine agora que por algum motivo você tenha que redefinir o valor da semente do campo identity de uma tabela no SQL Server.
Isso significa que os valores da coluna definida como identity, geralmente o campo Id, deverão iniciar com um novo valor definido.
Vamos supor que eu queira redefinir a semente da coluna Id para 20, de forma que os novos registros inseridos tenham valores iguais a 21, 22, 23 e assim por diante.
Para poder fazer isso devemos usar a instrução T-SQL DBCC CHECKIDENT.
A sintaxe usada é :
DBCC CHECKIDENT
(
nome_tabela
[, { NORESEED | { RESEED [, novo_valor_semente ] } } ]
)
A instrução DBCC CHECKIDENT verifica o valor da identidade atual para a tabela especificada no SQL Server e, se for necessário, altera o valor de identidade.
Você também pode usar esta instrução T-SQL para definir manualmente um novo valor de identidade atual para a coluna do tipo identity.
Vamos aplicar a instrução e definir o novo valor da semente como igual a 20 e a seguir incluir um novo registro na tabela Funcionarios:
use Teste
DBCC checkident (Funcionarios, RESEED, 20)
Abaixo vemos o resultado da inclusão de um novo registro na tabela Funcionarios :
Insert
Into Funcionarios(Nome,Sobrenome,Salario,Sexo,Cidade) values ('Xavier','de Toledo',2500,'M','Jundiai')Nota : Você precisa ser o dono(own) da tabela e/ou ser um membro de sysadmin, db_owner ou db_ddladmin.
7 - Copiando dados de uma tabela para outra
Podemos copiar dados de uma tabela para outra usando a instrução INSERT INTO SELECT .
A tabela de destino deve existir e possuir uma estrutura onde as colunas a serem copiadas possuam uma correspondência com as colunas da tabela de origem.
Vamos então criar uma nova tabela chamada FunciTemp no banco de dados Teste:
CREATE
TABLE
FunciTemp
(
Nome Nvarchar(50)
Not
NUll,
Salario Int
Not
Null,
Cidade Nvarchar(50)
Not
Null
)
Agora para copiar informações da tabela Funcionarios para a tabela FunciTemp fazemos assim:
Use
TesteINSERT
INTO FunciTemp (Nome, Salario ,Cidade)select * from FunciTemp
Podemos agrupar valores usando as cláusulas GROUP BY.
8 - Usando o operador LIKE
O operador LIKE é usado em uma cláusula WHERE e permite que você faça uma consulta em uma coluna baseada em um critério padrão muito flexível.
Sintaxe:
SELECT nome_coluna(s)
FROM nome_tabela
WHERE nome_coluna LIKE criterio;
As vezes os dados que você está desejando filtrar não têm uma ocorrência exata, ou você pretende realizar uma busca mais irrestrita.
Para isso o operador LIKE é muito versátil pois podemos definir o critérios usando um coringa ou caractere universal como % que pode ser usado para substituir qualquer outro caractere em uma string.
Supondo que desejamos filtrar todos os funcionários que tenham o nome começado pelos caracteres Mar.
Através do operador LIKE podemos definir o critério usando o caractere % e a SQL fará uma busca parcial pela string informada:
SELECT nome FROM Funcionarios WHERE nome LIKE "Mar%" |
Note que usamos o caractere (%) que funciona como um coringa, substituindo os demais caracteres. Podemos fazer outras combinações como: '%ar%' , etc.
Outro caractere muito usado para definir o critério é o caractere ( _ ) que pode substituir um único caractere.
Como exemplo vamos listar os registros cuja cidade contenha a sequência '_ant_s': (onde no caractere _ podemos ter qualquer outro caractere)
use
TesteAqui o caractere _ substitui qualquer caractere.
9 - Usando o operador Between
O operador BETWEEN pode ser usado para selecionar valores em um intervalo. Os valores podem ser números, texto e datas.
Sintaxe:
SELECT nome_coluna(s)
FROM nome_tabela
WHERE nome_coluna BETWEEN valor AND valor2;
Vamos selecionar os funcionários com salários entre 2000 e 4000:
use
TesteO operador NOT BETWEEN seleciona os valores fora do intervalo definido.
Para o exemplo vamos agora selecionar os funcionários com salários fora do intervalo 2000 e 4000.
use
Teste10 - Valores NULL
Por padrão, uma coluna de tabela pode conter valores nulos.
Os
valores NULL representam ausência de dados desconhecidos.
Assim, se uma coluna em uma tabela é opcional, podemos inserir um novo registro
ou atualizar um registro existente, sem acrescentar um valor para esta coluna.
Isto significa que o campo será salvo com um valor NULL.
Valores NULL são tratados de forma diferente de outros valores onde
NULL é usado como um espaço reservado para valores desconhecidos ou
inaplicáveis.
Nota: Não é possível comparar NULL e 0; elas não são equivalentes.
Na nossa tabela Funcionarios não existem colunas opcionais, ou seja, todas as colunas são Not Null e assim temos que informar um valor para esta coluna ao incluir dados.
Vamos alterar a estrutura da tabela definindo agora a coluna Cidade como Allow Null ou seja permitindo valores NULL.
Agora vamos incluir dois registros onde não vamos informar o nome da cidade:
Insert
Into Funcionarios(Nome,Sobrenome,Salario,Sexo) values ('Yuri','Rodrigues',3250,'M')Select
* from FuncionariosNote que não informamos o valor para a coluna Cidade e que a tabela agora possui o valor NULL para estes dois registros inseridos nesta coluna.
Vamos agora selecionar os registros cuja cidade possui o valor NULL. Para isso usamos o operador IS NULL.
Agora vamos fazer o inverso, ou seja, selecionar os registros que não possui valores NULL. Para isso usamos o operador IS NOT NULL.
Além desses operadores temos também as funções ISNULL()., NVL(), IFNULL() e COALESCE() que podemos usar para tratar valores NULL.
Mas isso é assunto para outro artigo.
Concluímos assim um resumo sobre 10 consultas SQL aplicadas ao banco de dados SQL Server.
Disse-lhe Jesus: Estou há tanto tempo
convosco, e não me tendes conhecido, Filipe? Quem me vê a mim vê o Pai; e como
dizes tu: Mostra-nos o Pai?
João 14:9
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
C# - SQL Server - Acesso e manutenção de dados ... - Macoratti.net
VB .NET - Inserir, Selecionar, Atualizar e Deletar ... - Macoratti.net
C# - Criando Banco de dados, Tabelas e Acessando ... - Macoratti.net