Desenvolvimento - SQL
Criando e trabalhando com SQL - Tabela gTabela
Artigo direcionado para iniciantes em programação e que querem saber um pouco sobre SQL.
por Samis Pedro LobatoRequisitos:
Para acompanhar o artigo, vamos precisar do Microsoft SQl Server instalado
na máquina e o Management Studio Express. Quando você instala esses dois itens,
ja vem junto um banco de testes da Microsoft que é o NorthWind o qual nós usaremos.
Para darmos inicio, levando em consideração que já tenha todos esses itens instalados no seu computador e já esteja com SQLMS aberto vamos dar início.
O primeiro passo será criarmos nossa tabela no banco NorthWind, segue abaixo o Código.
Vamos criar uma tabela chamada gTabela como segue o código abaixo.
Create table gTabela /* Tabela principal */
(gID int default 0,
gNome varchar(100) not null,
gTelefone varchar(100) not null,
gEmail varchar(100) not null,
gCidade varchar(100) not null,
gRG varchar(100) not null,
gSalario money not null )
Create table gComentarios /* Tabela de comentários */
(gID int default 0,
gAutor varchar(50) not null,
gComentario varchar(100) not null )
Comentários:
Usamos o comando Create table para criar a tabela, e o nome gTabela é o nome da tabela que vamos criar, notem que definimos o nome do campo e o tamanho ( gNome varchar(100)) que define o tamanho do campo na memória e a quantidade de caracteres que o campo irá receber.
Alterando tabela do banco e criando novo campo.
vamos usar o comando Alter Table e passar o nome da tabela para ele saber quem ele deve alterar, e em seguida o nome do campo que queremos criar ou alterar, como mostra o exemplo abaixo.
Alter Table gTabela
Add gComentarioID integer
Alter Table gComentarios
Add gComentarioID integer
Comentários:
No primeiro exemplo àcima criamos na tabela gTabela o campo gComentarioID e falamos para ele que ele será do tipo integer.
No segundo exemplo Alteramos na tabela gComentarios o campo gComentarioID falamos para ele que ele será do tipo integer.
Excluindo campo da tabela
Bom agora vamos ver como excluir um campo da tabela.
Para tal tarefa vamos usar o comando Alter Table passando o nome da tabela, e em seguida o comando drop column e passando o nome do campo a ser excluído, como mostra o exemplo abaixo
Alter Table gTabela
drop column gComentarioID,gRG
Comentários:
Como você pode ver, podemos excluir vários campos da tabela ao mesmo tempo
apenas separando por "," os campos.
Dando select na tabela e definindo registros.
Podemos usar o select de váaaaaaarias formas, o tradicional é vermos os registros
de uma determinada tabela, neste caso usamos select * from tabela, no nosso exemplo abaixo temos o primeiro comando select * from gTabela, onde ele trará todos os meus dados da tabela "gTabela", porem nem sempre precisamos de todos os dados e assi podemos funilar mais o nosso resultado, trazendo apenas os dados que precisamos, na segunda linha do nosso exemplo temos o comando select * from gTabela where gNome = "Samis Lobato" onde ele trará todos os dados mas com uma condição, que é somente os dados cujo o nome for igual a Samis Lobato, mas suponhamos que eu tenha vários registros com o sobrenome lobato e que quero todos os registros cujo o nome contenha lobato, dai eu uso a terceira linha do meu exemplo, o comando like é o responsável por isso, notem que quando eu
passei o like eu dispenso o uso do sinal de "=". Bom mas digamos que queremos funilar ainda mais o nosso resultado, na 4 linha do nosso exemplo temos o like e o and, onde falamos que queremos todos os samis mas apenas os que moram em Goiania.
Tambem podemos fazer um select de vários ID da minha tabela como mostra a linha 5 do nosso exemplo abaixo, separando os indeces por virgula, exemplo in(1,2,3).
/*1*/ select * from gTabela
/*2*/ select * from gTabela where gNome = "Samis Lobato"
/*3*/ select * from gTabela where gNome like "%lobato%"
/*4*/ select * from gTabela where gNome like "%samis%" and gCidade = "Goiania"
/*5*/ select * from gTabela where gID in(1,2,3,4,5,6,7,8,9)
Inserindo dados na tabela gTabela
Bom essa parte é uma das mais importantes e a que eu mais gosto, alimentar o nosso banco de dados. E para essa tarefa ser executada é a mais simples, porem como todas precisamos tomar muito cuidado na hora de passar os valores e os tipos de dados, no nosso exemplo logo abaixo vamos alimentar a tabela gTabela, vamos usar dois comandos o insert into e o Values onde eu preciso fazer o seguinte. Escrevo o comando insert into e passo o nome da tabela que eu quero alimentar, entre parenteses () eu informo os campos da tabela que eu quero alimentar escrevo o segundo comando Values e informo os dados que alimentaram os campos com os valores que eu defini, no nosso exemplo abaixo estamos alimentando a tabela gTabela e nos Values passando os valores.
Notem que onde eu tenho string eu passo o valor entra aspas simples e onde eu tenho inteiro apenas o valor separado por virgula. No caso de estarmos trabalhando em uma aplicação fariamos apenas o Value diferente, exemplo:
var X as Integer
X = 10;
Logo no Value da minha Query eu passaria a variável X.
E quando eu passo um valor do tipo money ou mesmo currency eu passo sem aspas e separo por "." e não por ",".
insert into gTabela (gID,gNome,gTelefone,gEmail,gCidade,gRG,gSalario)
Values
(4,"Samis Lobato","(62)9198 9319","samis-pl@sefaz.go.gov.br","Goiânia","4381465",3800.00)
insert into gComentarios
(gID,gAutor,gComentario)
Values
(2,"SamisLobato","Giselle Rodrigues da Cunha aprendendo SQL")
Comentários:
Você pode aprfundar mais no caso do insert, por exemplo fazer um insert em duas
tabelas diferentes
Deletando registros
No exempo abaixo, vamos deletar na tabela gTabela o registro onde o codigo for
igual a 1, ok, temos que tomar muito mas muito cuidado nessa hora, caso você por
algum acaso da distração rss, como já aconteceu comigo, você pode sair deletando
o que não quer e o que não pode.... então vamos usar o comando delete passando o nome da tabela seguindo da condição where e passando ao where a condição, como mostra a linha 1 do nosso exemplo abaixo, podemos tambem deletar vários registros ao mesmo tempo em uma única query, bastando passarmos os indices conforme a linha 2 no nosso exemplo
delete gTabela where gID = 1
delete gTabela where gID in(2,3)
Comentários:
No caso do delete, é muito importante termos atenção, para não perdermos
dados importantes....
Atualizando dados
Sempre precisamos alterar dados ja inseridos em uma determinada tabela, é um caso típico e você sempre passará por este problema.
Bom, para atualizarmos dados em uma tabela, precisaremos do comando Update, escrevemos o comando update e passamos o nome da tabela que queremos atualizar, em seguida o comando set que iremos setar o nome do campo da tabela em específico que queremos mudar o valor e a condição, como mostra nosso exemplo abaixo, na linha 1 estamos atualizando na tabela gTabela o campo gNome para Senhor Luiz" onde o gID for igual a 2.
update gTabela set gNome = "Senhor Luiz" where gID = 2
update gTabela set gID = 2 where gCidade = "Caldas Novas"
update gTabela set gSalario = 4500.00 where gID in(1,2,3,4)
Muitissimo cuidado com esse comando, caso você mande executar uma query dessa sem passar uma condição ele o fará para todos, logo se você passar sem o where ja era.
EX: update gTabela set gNome = "Senhor Luiz". pronto se você tiver 1000 registros nessa tabela todo mundo vai ter o mesmo nome agora, portanto, muita atenção ao usar o update sem uma condição, onde a condição será uma forma de identificação para onde ele fará a operação
Segue em anexo imagen do SQL Server e o arquivo gArtigo.sql
Bom pessoal, são comando básicos do SQL server, no próximo artigo, vamos aprofundar mais, inner join e por ai..... Abraços, sucesso e bons estudos a todos.
Samis Pedro Lobato
Analista de sistemas
POLITEC - SEFAZ-GO
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- Utilizando SEQUENCES no Microsoft SQL Server 2012SQL
- Exportação de dados do SQL Server para o Oracle com assistente de importação do SQL ServerSQL
- Tunning Index com o DTASQL