Ir para conteúdo
Fórum Script Brasil
  • 0

Artigo: SQL CRUD


samislobato

Pergunta

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 samislobato
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...