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 Lobato



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,

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

Samis Pedro Lobato

Samis Pedro Lobato