samislobato Postado Novembro 24, 2009 Denunciar Share Postado Novembro 24, 2009 (editado) Artigo: SQL CRUDAutor: Samis Pedro LobatoData: 24/11/2009Sobre o autor:Samis é analista de sistemas, empresário, atualmente trabalha na Secretaria da Fazenda do estado de Goiás pela POLITEC.Tem experiência com C#,ASP3.0,ASP.NET,DELPHI,SQL,INTERBASE,FIREBIRD,ORACLE entre outras ferramentas.É certificado pela Microsoft como MSP e pela Borland DDP Criando e trabalhando com SQL Tabela gTabela. Requisitos:Para acompanhar o artigo, vamos precisar do Microsoft SQl Server instaladona máquina e o Management Studio Express. Quando você instala esses dois itens,já vem junto um banco de testes da Microsoft que é o NorthWind o qual nós usaresmos.Para darmos inicio, levando em consideração que já tenha todos esses itens instaladosno 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 Cod.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 tabelaque 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 integerAlter Table gComentarios Add gComentarioID integerComentários:No primeiro exemplo àcima criamos na tabela gTabela o campo gComentarioID e falamospara ele que ele será do tipo integer.No segundo exemplo Alteramos na tabela gComentarios o campo gComentarioID falamospara ele que ele será do tipo integer.Excluindo campo da tabelaBom 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 abaixoAlter Table gTabeladrop column gComentarioID,gRGComentários:Como você pode ver, podemos excluir vários campos da tabela ao mesmo tempoapenas separando por "," os camposDando select na tabela e definindo registros.Podemos usar o select de váaaaaaarias formas, o tradicional é vermos os registrosde uma determinada tabela, neste caso usamos select * from tabela, no nosso esemploabaixo temos o primeiro comando select * from gTabela, onde ele trará todos os meusdados da tabela "gTabela", porem nem sempre precisamos de todos os dados e assi podemosfunilar mais o nosso resultado, trazendo apenas os dados que precisamos, na segundalinha 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 nomefor igual a Samis Lobato, mas suponhamos que eu tenha vários registros com o sobrenomelobato e que quero todos os registros cujo o nome contenha lobato, dai eu uso a terceiralinha 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 funilarainda mais o nosso resultado, na 4 linha do nosso exemplo temos o like e o and, ondefalamos que queremos todos os samis mas apenas os que moram em GoianiaA tambem podemos fazer um select de vários ID da minha tabela como mostra a linha 5do nosso exemplo abaixo, separando os indeces por virgula, exemplo in(1,2,3)select * from gTabelaselect * from gTabela where gNome = 'Samis Lobato'select * from gTabela where gNome like '%lobato%'select * from gTabela where gNome like '%samis%' and gCidade = 'Goiania'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 nossobanco de dados. E para essa tarefa ser executada é a mais simples, porem como todasprecisamos tomar muito cuidado na hora de passar os valores e os tipos de dados, nonosso exemplo logo abaixo vamos alimentar a tabela gTabela, vamos usar dois comandoso insert into e o Values onde eu preciso fazer o seguinte. Escrevo o comandoinsert into e passo o nome da tabela que eu quero alimentar, entre parenteses () euinformo os campos da tabela que eu quero alimentar escrevo o segundo comando Valuese informo os dados que alimentaram os campos com os valores que eu defini, no nossoexemplo 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 tenhointeiro apenas o valor separado por virgula. No caso de estarmos trabalhando em umaaplicação fariamos apenas o Value diferente, exemplo:var X as IntegerX = 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 separopor "." 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 duastabelas diferentesDeletando registrosNo 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ê poralgum acaso da destração rss, como já aconteceu comigo, você pode sair deletandoo que não quer e o que não pode.... então vamos usar o comando delete passando onome da tabela seguindo da condição where e passando ao where a condição, como mostraa linha 1 do nosso exemplo abaixo, podemos tambem deletar vários registros ao mesmotempo em uma unica query, bastando passarmos os indices conforme a linha 2 no nossoexemplo delete gTabela where gID = 1delete gTabela where gID in(2,3) Comentários:No caso do delete, é muito importante termos atenção, para não perdermosdados importantes....Atualizando dadosSempre precisamos alterar dados já inseridos em uma determinada tabela, é um caso típicoe você sempre passará por este problema.Bom, para atualizarmos dados em uma tabela, precisaremos do comando Update, escrevemoso comando update e passamos o nome da tabela que queremos atualizar, em seguida o comando setque 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 tabelagTabela o campo gNome para Senhor Luiz' onde o gID for igual a 2update gTabela set gNome = 'Senhor Luiz' where gID = 2update 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 sempassar uma condição ele o fará para todos, logo se você passar sem o where já era.EX: update gTabela set gNome = 'Senhor Luiz'. pronto se você tiver 1000 registros nessatabela todo mundo vai ter o mesmo nome agora, portanto, muita atenção ao usar o updatesem uma condição, onde a condição será uma forma de identificação para onde ele faráa operaçãoBom pessoal, são comando básicos do SQL server, no próximo artigo, vamos aprofundarmais, inner join e por ai..... Abraços, sucesso e bons estudos a todos.Samis Pedro LobatoAnalista de sistemasPOLITEC - SEFAZ-GOE-mail's: samis@samislobato.com.br , samis-pl@sefaz.go.gov.brMSN: vipersysweb@hotmail.comMobile: (62) 9198 9319 Editado Novembro 24, 2009 por samislobato Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
samislobato
Artigo: SQL CRUD
Autor: Samis Pedro Lobato
Data: 24/11/2009
Sobre o autor:
Samis é analista de sistemas, empresário, atualmente trabalha na Secretaria da Fazenda do estado de Goiás pela POLITEC.
Tem experiência com C#,ASP3.0,ASP.NET,DELPHI,SQL,INTERBASE,FIREBIRD,ORACLE entre outras ferramentas.
É certificado pela Microsoft como MSP e pela Borland DDP
Criando e trabalhando com SQL Tabela gTabela.
Requisitos:
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,
já vem junto um banco de testes da Microsoft que é o NorthWind o qual nós usaresmos.
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 Cod.
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 esemplo
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
A 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)
select * from gTabela
select * from gTabela where gNome = 'Samis Lobato'
select * from gTabela where gNome like '%lobato%'
select * from gTabela where gNome like '%samis%' and gCidade = 'Goiania'
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 destraçã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 unica 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 já 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 já 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
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
E-mail's: samis@samislobato.com.br , samis-pl@sefaz.go.gov.br
MSN: vipersysweb@hotmail.com
Mobile: (62) 9198 9319
Editado por samislobatoLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.