livro sql fluente

Embed Size (px)

Citation preview

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

SQL FLUENTETREINAMENTO AVANADO DE LINGUAGEM SQL PARA BANCO DE DADOS

Desenvolva, manipule e administre bancos de dadosGuia resumido projetado para aprendizagem rpida para programadores Revelado mtodo de aprendizagem acelerada de linguagem de programao e SQL Explicao simples e direta permitindo uma assimilao rpida na linguagem SQL Diferente dos outros livros com linguagem rebuscada, teorias longas e centenas de pginas Com certeza o melhor guia de treinamento e suporte para programao de banco de dados

Autor: Leandro Gonalves dos Santos Programador linguagem C# e SQL nvel avanado Penetration Tester Linux BackTrack 5

1

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

NDICE

SQL Bsico 4 - O que SQL? 4 - Introduo a linguagem SQL 5 - SQL Server 2008 express Ferramentas para desenvolvimento de banco de dados 14 - Passos para efetuar conexo com Banco de dados e comandos SQL por meio de programas com linguagem C# 19 - Mtodo de aprendizagem rpida para linguagens de programao e SQL 20 - Sintaxe SQL 22 - Create DataBase Criando um banco da dados 22 - Create Table Criando uma tabela no banco de dados 23 Select 25 Distinct 25 Where 27 - And & Or 29 - Order By 31 - Insert 32 - Update 34 - Delete

SQL Avanado Segue abaixo o contedo do livro completo Top Like Wildcards In Between Alias Joins Inner Join Left Join Right Join Full Join Union Select Into Constraints Not Null Unique Primary Key Foreign Key Check Default Create Index Drop Alter Increment Views Dates o GETDATE() o DATAPART()

2

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

o DATEADD() o DATEDIFF() o DATECONVERT() Nulls isnull() Data Types Funes SQL avg() count() first() last() max() min() sum() Group By Having ucase() lcase() mid() len() round() now() format() Quick Ref Hosting

3

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

SQL BSICOO que SQL?SQL uma linguagem padro para acessar base de dados de programas. Nosso guia de SQL lhe habilitar a usar o acesso ao banco de dados e manipular dados nos seguintes bancos de dados. MySQL SQL Server Access, Oracle Sybase DB2 E outros sistemas de banco de dados.

Porm entraremos com mais nfase e detalhes com o uso do SQL Server 2008 express, totalmente gratuito e muito eficiente para iniciantes. A codificao da linguagem SQL praticamente igual para qualquer outro banco de dados, mas cada qual tem sua particularidade. Praticamente todo sistema da informao possui bancos de dados, por exemplo, um banco de dados de clientes de uma locadora de vdeo, possui armazenado cada cliente, seu nome, RG, CPF, endereo para cobrana. Isto so dados que esto em uma tabela do banco de dados. E temos outra tabela que diz respeito ao filme que nosso cliente est alugando, qual a data de entrega, qual o preo pago, se foi pago ou no. Esta outra tabela tem associao com a primeira. Como voc j percebeu, no adianta ser especialista em uma linguagem de programao, mas primordial voc possuir habilidades avanadas em linguagem SQL por que banco de dados fazem parte constantemente de sistemas de alta qualidade seja em webpages ou sistemas do tipo desktop como o SAP por exemplo ou at mesmo aplicativos para home users.

Introduo a Linguagem SQLO que podemos ento fazer com a linguagem SQL. Permite-nos manipular banco de dados. O SQL ANSI American National Standards Institute Ou seja, uma linguagem padro para todos os bancos de dados usados. Uma linguagem universal, ento entendendo com este livro a linguagem SQL voc estar apto a trabalhar com qualquer banco de dados.

O que possvel fazer com a linguagem SQL?

4

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Podemos Podemos Podemos Podemos Podemos Podemos Podemos Podemos Podemos dados.

fazer buscas avanadas de vrios tipos no banco de dados inserir dados dentro do banco de dados. atualizar dados dentro do banco de dados. deletar dados dentro do banco de dados. criar novas base de dados. criar novas tabelas dentro de uma ou mais base de dados. criar procedimentos padres dentro da base de dados. criar estilos de visualizaes padro dentro da base de dados. determinar permisses nas tabelas, procedimentos e visualizaes na base de

O SQL padro, mas mesmo assim existem diferentes verses da linguagem SQL. Mas apesar deles serem um pouco diferente eles suportam a maioria dos comandos principais que so SELECT, UPDATE, DELETE, INSERT, WHERE numa forma similar.

Usando o SQL no seu WebSite Para construir seu website, algumas informaes na base de dados, vo ser necessrias: Um programa para criao de banco de dados como SQL Server, MS Access, MySQL etc...) Um servidor para alojar os dados do banco de dados. A linguagem SQL aplicada a construio do banco de dados. A linguagem HTML / CSS aplicada ao desenvolvimento do WebSite.

SQL SERVER 2008 EXPRESS FERRAMENTA GRATUITA DA MICROSOFT PARA CRIAO DE BANCO DE DADOS Vamos ensinar o passo a passo para a instalao do SQL Express + ferramentas. Se voc desejar o mesmo, ao realizar o download escolha a opo Microsoft SQL Server 2008 Express

with Tools (executvel: SQLEXPRWT_x86_ENU.exe); o tamanho do executvel deaproximadamente 235 MB. Acesse o link abaixo para download:

http://www.microsoft.com/brasil/servidores/sql/editions/express.mspx . Antes de iniciar a instalao do SQL Server Express voc dever verificar: Se o seu framework o 3.5 SP1 (ou superior), se no, baixe e atualize: http://go.microsoft.com/fwlink/?LinkId=120550 Se o Windows Installer o 4.5 (ou superior), se no, baixe e atualize: http://go.microsoft.com/fwlink/?LinkId=123422

5

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

E se o Windows PowerShell o 1.0, se no, faa o download e atualize: http://go.microsoft.com/fwlink/?LinkId=120552

INSTALAO DO SQL SERVER 2008 EXPRESS Observao: Existem diversas configuraes para instalao do SQL Server, vou ensinar aqui uma maneira bsica apenas para voc fazer seu primeiro banco de dados. Lembrando que no Google digitando Tutorial instalao Sql Server 2008 voc acha diversos tutoriais e frum com todo o passo a passo. Clique em Nova instalao ou adicionar recursos de um instalao existente:

Aceite os termos de licena:

6

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Na prxima tela selecione todas as opes de recursos:

Voc pode nomear a instncia ou usar a instncia padro, eu recomendo neste momento configurar como instncia padro e aps clique em avanar:

7

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Na configurao do servidor, nome da conta seleciona a opo com AUTORIDADE NT/SYSTEM

8

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Na prxima tela, sobre configurao do mecanismo de banco de dados, escolha, mixed mode e coloque a senha: No caso eu coloquei 12345 apenas para efeito didtico: Lembrando que neste caso, seu usurio chamado sa e sua senha 12345.

Nesta prxima tela voc pode escolher se quer ou no enviar relatrios de erros, eu recomendo que sim: Clique em avanar para iniciar o processo completo de instalao do SQL Server:

9

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

INSTALAO DO SQL MANAGEMENT STUDIO O SQL MANAGEMENT STUDIO uma plataforma grfica para manipulao e gerenciamento do SQL Server. Para instala-lo, clique ou digite o link abaixo: http://www.microsoft.com/downloads/details.aspx?FamilyID=08e52ac2-1d62-45f6-9a4a4b76a8564a2b&DisplayLang=pt-br ou procure no site da Microsoft o SQL MANAGEMENT STUDIO http://www.microsoft.com/downloads . A instalao muito simples, s seguir o roteiro de instalao ensinada pelo prprio programa.

CRIANDO UM BANCO DE DADOS E UMA TABELA COM O SQL SERVER 2008 EXPRESS POR INTERFACE GRFICA USANDO O SQL MANAGEMENT STUDIO.

10

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Inicie o SQL MANAGEMENT STUDIO e uma tela com sua senha e usurio prconfigurada ir aparecer. Digite os dados corretos para iniciar sua plataforma.

No caso, se voc escolheu mixed mode. Sua senha 12345, e usurio sa, lembrando que voc precisa selecionar no tipo de autenticao o modo Sql Server Authentication:

Clique como boto direito do mouse em DataBase e new DataBase.

11

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Em DataBase Name vamos neste exemplo chamar nossa base de dados de LIVRO_EXEMPLO. Clique em Ok para criar sua base de dados.

Depos de criada sua base de dados, clique com o boto esquerdo do mouse no sinal de + que h no nome de sua database e procure por Tables. Clique em tables com o boto direito e clique em create new table.

12

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Aparecer uma tela para adicionar as colunas com tipo de dado aceito para esta coluna. Neste exemplo para em Colunm Name, DataType e Allow Null vamos adicionar o seguinte: Colunm Name ID Autor DataType int(10) varchar(50) Allow Null yes yes

Colunm Name o nome da coluna. DataType o tipo de dado, no exemplo acima int (10) so para nmeros inteiros com at 10 dgitos. varchar(10) so textos e nmeros juntos que podem ser misturados nesta coluna com limite de 10 digitos. Allow Null: Se no habilitado, a coluna s aceita dados em suas linhas com contedo, se habilitado aceita linhas com dados e sem dados.

13

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Clique em save e grave o nome da tabela como AUTORES. Agora v em tables, clique com o boto direito em cima da tabela que acabou de criar e clique em Open Table. Abrir sua tabela e voc poder adicionar os dados conforme figura abaixo, e depois salvar. Pronto, voc j criou seu primeiro banco de dados simples.

Este banco de dados simples, e foi feito para voc se familiarizar com a criao de banco de dados por interface grfica. Vamos aprender tcnicas avanadas para desenvolvimento de bancos de dados, ao longo do livro. PASSOS PARA EFETUAR CONEXO COM BANCO DE DADOS E COMANDOS SQL COM USO DE LINGUAGEM DE PROGRAMAO Bom meus amigos, sabemos que ficar e se especializar em criar e treinar os comandos SQL por meio do SQL Server no a melhor opo pois sabemos que os sistemas de informao e aplicativos fazem conexo com banco de dados por meio de comandos na

14

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

linguagem de programao do aplicativo ou sistema e executa os comandos SQL DO PROGRAMA, POR MEIO DO PROGRAMA, POR MEIO DO USURIO QUE USA O PROGRAMA! Ento vou ensinar o passo a passo para se conectar ao banco de dados em qualquer linguagem, mas aqui vou dar um exemplo com o C#, mas o conceito o mesmo para qualquer linguagem o que muda so os cdigos, mas seguem praticamente um mesmo padro. Lembrando que para entender poderosamente esta parte, preciso fazer um curso de lgica de programao e de programao de uma especfica linguagem. Temos em nosso site o curso de C# avanado que possui todos estes recursos de aprendizagem em vdeo aula de alta qualidade: www.cybershield.com.br .

String de conexo com o bando de dados Usamos a string de conexo na linguagem C# da seguinte forma: string nome_da_string = @Data Source = endereo do banco de dados; Initial Catalog = Nome_da_base de dados; User ID = Nome_do_usurio; pwd = senha_do_usurio; Bom, isso uma parte que muitos tem dificuldades, ento vou dar tudo de mo beijada para vocs. Vamos encontrar o Data Source no SQL Server. Clique no nome do seu banco de dados com o boto direito e clique em properties:

15

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Temos o nome D-BRG132F2JH BRG132F2JH\SQLEXPRESS, mas na string de conexo ficar Data , Source = .\SQLEXPRESS; Initial Catalog o nome de nossa base de dados que LIVRO_EXEMPLO. Ent na Ento parte da string de conexo para Initial Catalog = LIVRO_EXEMPLO; Na parte de USER ID = sa; Se voc escolheu na configurao o modo sa. Na parte de PWD a senha. pwd = 12345. (Coloque senhas melhores, isto s um pwd exemplo. Veja agora como ficou nossa string de conexo com banco de dados usando o C#.

string servidor = @"Data Source =. SQLEXPRESS;Initial Catalog = =.\SQLEXPRESS;InitialLIVRO_EXEMPLO; User Id =sa; pwd= ; pwd=12345";

COMO USAR A STRING DE CONEXO E EFETUAR COMANDOS SQL NO PROGRAMA 1 Selecionar as bibliotecas do SQL no C# que so:using System.Data.SqlClient; using System.Data;

2 Usar a funo SqlConnection e chamar a string de conexo que nomeado no exemplo de conexo servidor. SqlConnection conexao = new SqlConnection (servidor); o SqlConnection = funo para fazer conexo com bancos de dados SQL Conexo = nome dado a funo a ser usada

16

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

new SqlConnection = Instanciamento da funo, habilitando o uso dela com o nome dado a funo (servidor) = string de conexo com banco de dados

3 Usar a funo SqlCommand para adicionar o comando Sql ao programa, indicar qual a tabela ou tabelas do comando a ser usado, e chamar aps o comando a conexo com o servidor.SqlCommand comando = new SqlCommand("select * from AUTORES", conexao); SqlCommand = Funo para operar e executar comandos SQL Commando = Nome dada para a funo SqlCommand new SqlCommand = instanciamento da funo, habilitando o uso dela com o nome dado a funo "select * from AUTORES" = Comando SQL para selecionar e mostrar contedo da tabela AUTORES conexao = string de conexo chamada pelo seu nome j instanciado que conexo. 4 Usar outros tipos de recursos do C# para possibilitar a transferncia dos dados da tabela para serem mostrados no programa. No caso usaramos o datagridview do C# para mostrar estes dados da tabela do banco de dados. Ento o restante do cdigo fica assim.

SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = comando; DataTable datatable = new DataTable(); adapter.Fill(datatable); Bom, antes de mais nada, vamos colocar isso dentro de uma classe, e criar um mtodo dentro de uma classe, e depois chamar a classe, e associar o comando com o mtodo desta forma a seguir: datagridview.DataSource = classe_usada.nome_do_mtodo_usado; Em resumo ficaria assim: Na classe da string e comandos SQL temos o mtodo: Nome da Classe SQL Nome do mtodo: public DataTable carregar() Cdigo completo do mtodo da classe SQL. public DataTable carregar() carregar = nome do mtodo.

17

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

{ SqlConnection conexao = new SqlConnection (servidor);SqlCommand comando = new SqlCommand("select * from AUTORES", conexao);

SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = comando; DataTable datatable = new DataTable(); adapter.Fill(datatable); return datatable } No programa em C# teramos um boto para carregar o banco de dados ento, dentro do boto vamos adicionar o seguinte cdigo:

SQL sql = new SQL(); -

chamando a classe SQL que criamos Associamos o mtodo ao datagridview.

datagridview.DataSource = sql.carregar();

No caso o datagridview tem um nome e o nome que demos a ele no programa em questo foi dgv, ento o cdigo fica assim: dgv.DataSource = sql.carregar();Aqui temos o DataGridView que nomeamos como dgv

Bom, quando iniciamos o programa clicando no boto carregar, temos a seguinte visualizao:

18

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Clicando no boto carregar, temos o seguinte resultado:

Talvez, muitos que no entendem bem sobre lgica de programao ou possui nvel intermedirio de algortimos e no conhece nenhuma linguagem de programao tenha ficado um pouco confuso. Mas no se preocupe, quando comear a entender ficar tudo claro e ntido e ver que fcil programar para quem pratica e persiste. recomendvel antes de continuar, que voc estude uma linguagem de programao e lgica de programao tambm. Eu recomendo o C# e inclusive temos um curso avanado de C# em vdeo aula disponvel para download em WWW.CYBERSHIELD.COM.BR . Nos prximos captulos voc se habilitar passo a passo a como ser fluente no SQL e ter condies de programar sistemas avanados.

MTODO DE APRENDIZAGEM RPIDA PARA LINGUAGENS DE PROGRAMAO E SQLAntes de iniciar a sua jornada para aprender SQL, vou ensinar aqui como no perder seu tempo estudando, estudando da forma incorreta como acontece com a maioria dos programadores que iniciam, e se tornar pssimos programadores ou at mesmo desistem. Aprender a programar no difcil, mas uma questo de estratgia. Primeiro coisa que devemos fazer , saber como memorizar os cdigos e os algortimos. Como fazer isso? Bom voc pode fazer isso usando estratgias de repetio e realmente digitar o cdigo. impossvel aprender a programar sem praticar. Apenas lendo ou assistindo aulas, no far de voc um programador. Se quer aprender a programar, vai ter que suar a camisa e digitar os cdigos. E no pense que colar cdigos vai lhe ajudar. Isso s piora as coisas. Bom, voc j sabe que precisa praticar, digitar os cdigos. Ento, qual o mtodo de aprendizagem para ser fluente em uma linguagem de programao. Simples! 1 Para cada comando de SQL ou para cada Algortimo de uma linguagem de programao, vamos ler, entender, interpretar, fechar o livro, e ESCREVER O CDIGO, SEM CONSULTAR O LIVRO no programa ou at mesmo em um notepad a parte. E depois que concluirmos vamos checar no livro se est correto e ainda, testar o cdigo no programa para ver se ele funciona.

19

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

Se errou o cdigo, reiniciar o processo de novo, at voc acertar o cdigo. Lembrando que isso para memorizar o cdigo. 2 Depois de ter conseguido acertar o cdigo, vamos repetir 3 vezes a digitao do cdigo. Por que fazer isso. Bom isso uma questo de memorizao, mas estudos dizem que precisamos repetir a aprendizagem por meio de revises, caso contrrio a mente esquece. Ento repita a digitao do cdigo 3 vezes, mas preferencialmente 7 vezes. Eu acho suficiente 3 vezes apenas. 3 Vamos agora passar para o prximo cdigo ou algortimo do livro e repetir o processo. 4 Repetir a reviso dos cdigos todos os dias do incio ao fim e nunca parar. Por que nunca parar? Bom para voc ter uma idia, para a linguagem C# do qual sou programador, eu reviso todos os dias 1 algortimo ou lio de C# referente ao contedo do C# que preciso saber de memria e prontido para ser fluente na linguagem. So mais de 100 lies que reviso e reprogramo os cdigos e testo, mas assim que tem que ser. E fao o mesmo para o SQL, todo dia eu reviso 5 cdigos SQL e demoro cerca de 1 ms para finalizar todas as lies revisadas para SQL e C#. Por isso que eu j sei tudo de memria. E programadores profissionais precisam disso. Por tanto, revise sua linguagem sempre, pois se parar, sua mente automaticamente poder jogar o conhecimento fora, e voc perdeu seu tempo estudando. 5 Selecionar e descobrir o essencial da linguagem de programao e desenvolver ou selecionar em livro uma maratona de exerccios para fazer suas revises eternas. Como isso? Bom, analise em livros e cursos o contedo essencial que o far fluente em uma linguagem. No pense que voc pode memorizar todos os cdigos de uma linguagem ou todos os tipos de algortimos. Voc s poder fazer isso, se trabalhar com a linguagem e s depois de 5 a 10 anos e mesmo assim talvez no consiga... Quem fala ingls fluente, sabe todas as palavras do dicionrio ingls ou todos os termos tcnicos de vrias reas em ingls? Claro que no. Mas ele tem a capacidade com o contedo que ele aprendeu de ingls para dominar e aprender novas expresses e estruturas em ingls facilmente. Isso fluncia! Na programao, o que voc precisa saber entender os algortimos que encontrar nas suas pesquisas e livros avanados de programao sobre novos recursos avanados e aprender isso. Existem diversos recursos e algortimos usamos para programao de jogos que no tenho a mnima idia de como fazer. Mas por entender o essencial do C#, eu posso aprender e entender tudo e aprender estes novos recursos e mtodos. Por isso voc precisa saber o essencial. Nosso curso de C# Possui o essencial para voc dominar o essencial da linguagem C# e depois que ter memorizado e entendido todos os algortimos dele, voc j fluente e avanado no C#, basta se aperfeioar. Veja e faa o download em WWW.CYBERSHIELD.COM.BR . Este manual de SQL possui o essencial para se tornar fluente e avanado na linguagem SQL. Depois de praticar as revises e memoriar todos os comandos, criar programas ser mamo com acar.

SQL SyntaxUma base de dados geralmente contm uma ou mais tabelas. Cada tabela identificada por um nome. Abaixo temos uma tabela que chamada de Pessoal. Precisamos antes de tudo criar uma base de dados e dar um nome a mesma, e depois criar tabela ou tabelas para esta base de dados. P_Id 1 Sobrenome Santos Nome Leandro Endereo Rua Joo - 45 Cidade So Paulo

20

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

2 3

Figueiredo Ferreira

Luciano Lilian

Rua Luan - 23 Rua Stormer - 20

So Paulo Rio de Janeiro

Nesta Tabela possumos 5 colunas e 3 linhas. Declaraes em SQL A maioria dos comandos SQL para manipular banco de dados feito atravs de declaraes em SQL. E podemos fazer isso com o seguinte exemplo a seguir. SELECT * FROM PESSOAL Neste caso, temos a tabela pessoal acima, com o comando select pedimos para o banco de dados exibir a tabela completa chamada PESSOAL. GRAVE ISSO URGENTE O SQL no case sensitive, ou seja, voc pode escrever as declaraes de comandos SQL tanto em minsculo como em maisculo que o comando funcion perfeitamente. SQL DML e DDL O SQL dividido em duas partes: DML Data Manipulation Language e DDL Data Definition Language. Para buscar ou atualizar comandos da parte DML do SQL: SELECT Extrai dados da base de dados. UPDATE atualiza dados na base de dados DELETE apaga dados da base de dados INSERT INTO insere ou grava dados na base dados. A parte DDL do SQL que tabelas na base de dados sejam deletadas ou criadas. A mais importante declarao DDL CREATE DATABASE isso cria uma base de dados ALTER DATABASE modifica uma base de dados CREATE TABLE cria uma tabela dentro de uma base de dados ALTER TABLE modifica uma tabela de uma base de dados DROP TABLE apaga uma tabela de uma base de dados CREATE A INDEX cria um ndice (uma chave de busca chamada de search key)

21

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

SQL CREATE A DATABASEVoc aprendeu como criar uma base de dados e uma tabela dentro de uma base de dados por meio de interface grfica no SQL Server, vamos agora aprender como criar tabelas por meio de cdigos, por que muitos programas ou sistemas precisam criar base de dados e novas tabelas para guardar dados, a partir da plataforma de software por meio do prprio usurio da plataforma. Para criar uma base de dados, usamos a seguinte sintaxe: SINTXE SQL CREATE DATABASECREATE DATABSE nome_da_base_de_dados

EXEMPLO Agora vamos criar uma base de dados chamada LIVRO_EXEMPLOS como foi criada por meio da interface grfica anteriormente. Mas agora ser na base do comando SQL CREATE DATABASE. Vamos usar a seguinte declarao:CREATE DATABASE LIVRO_EXEMPLOS

Sua base de dados j foi criada.

SQL CREATE TABLEO SQL CREATE TABLE usado para criar tabelas dentro de um base de dados. SINTXE DO SQL CREATE TABLECREATE TABLE nome_da_tabela ( Nome_da_coluna1 data_type, Nome_da_coluna2 data_type, Nome_da_coluna3 data_type, ... )

22

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

O data type especifica o tipo de dado que no caso pode ser, texto, inteiros etc... voc conhecer ao longo do curso uma tabela guia para todos os data types. EXEMPLO Vamos agora criar um tabela chamada Pessoal que tem 5 colunas. P_Id, Sobrenome, Nome, Endereo e cidade.CREATE TABLE Pessoal ( P_Id int, Sobrenome varchar(50), Nome varchar(50), Endereo varchar(50), Cidade varchar(50) )

A coluna P_Id s ter um nmero e s poder ser inteiro, o data type para inteiros int. As outras colunas so textos que podem ter nmeros mesclados, ento usamos o varchar que um data type para estas caractersticas. Os nmeros entre () so a quantidade de caracteres que cada campo da coluna aceita no mximo. Veja a abaixo nossa tabela Pessoal criada: P_Id Sobrenome Nome Endereo Cidade

A tabela est vazia pois no foi atribudo nenhum valor para os campos das colunas.

SQL SELECTVamos agora aprender sobre o comando SELECT do SQL, um dos mais importantes comandos para visualizarmos tabelas em diversas formas de seleo. SNTAXE DO SQL SELECT SELECT nome_da_coluna(s) FROM nome_da_tabela Ou SELECT * FROM nome_da_tabela

23

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

EXEMPLO DE SQL SELECT A tabela Pessoal que vimos anteriormente: P_Id 1 2 3 Sobrenome Santos Figueiredo Ferreira Nome Leandro Luciano Lilian Endereo Rua Joo - 45 Rua Luan - 23 Rua Stormer - 20 Cidade So Paulo So Paulo Rio de Janeiro

Agora vamos usar o comando SELECT para selecionar o contedo das colunas Sobrenome e Nome apenas e nossa pesquisa com SELECT. SELECT Sobrenome, Nome FROM Pessoal

Veja o resultado a seguir: Sobrenome Santos Figueiredo Ferreira Nome Leandro Luciano Lilian

Outro exemplo usarmos o comando select para exibir uma das tabelas da base de dados com todo o seu contedo: SELECT * FROM Pessoal

O asterstico uma parte do comando que significa selecionar toda a tabela. O resultado simplesmente a exibio da tabela completa com todos os dados. P_Id 1 2 Sobrenome Santos Figueiredo Nome Leandro Luciano Endereo Rua Joo - 45 Rua Luan - 23 Cidade So Paulo So Paulo

24

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

3

Ferreira

Lilian

Rua Stormer - 20

Rio de Janeiro

SQL SELECT DISTINCTVamos aprender agora sobre como usar o SQL SELECT DISTINCT. Em uma tabela, temos valores duplicados, isso no um problema caso deseja mostrar valores diferentes na tabela, esta duplicidade com certeza no causar para voc impossibilidades de seleo distintas. A declarao SQL DISTINCT permite retornar dados diferentes no processo de pesquisa e visualizao do banco de dado. SINTAXE DO SQL SELECT DISTINGSELECT DISTINCT nome_da_coluna(s) FROM nome_da_tabela

EXEMPLO A Tabela Pessoal abaixo com os seguintes dados: P_Id 1 2 3 Sobrenome Santos Figueiredo Ferreira Nome Leandro Luciano Lilian Endereo Rua Joo - 45 Rua Luan - 23 Rua Stormer - 20 Cidade So Paulo So Paulo Rio de Janeiro

Agora podemos selecionar apenas os valores distintos da coluna chamada cidade da tabela acima. Vamos usar a declarao SELECT:SELECT DISTINCT cidade FROM Pessoal

O resultado o seguinte: Cidade So Paulo Rio de Janeiro

SQL WHERE25

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

O comando WHERE para selecionar ou efetuar outro comando de acordo com especficos critrios estabelecidos com o comando WHERE. como uma estrutura de seleo que efetua um comando especfico SE a condio escolhida for atendida. SINTAXE DO COMANDO WHERESELECT nome_da_coluna(s) FROM nome_da_tabela WHERE nome_da_tabela = valor X

Veja a tabela de nome Pessoal abaixo: P_Id 1 2 3 Sobrenome Santos Figueiredo Ferreira Nome Leandro Luciano Lilian Endereo Rua Joo - 45 Rua Luan - 23 Rua Stormer - 20 Cidade So Paulo So Paulo Rio de Janeiro

Vamos solicitar ao banco de dados para exibir apenas os nomes de pessoas que moram s em So Paulo. O resto no aparece na consulta.SELECT * FROM Pessoal WHERE Cidade = So Paulo

Veja o resultado do comando: P_Id 1 2 Sobrenome Santos Figueiredo Nome Leandro Luciano Endereo Rua Joo - 45 Rua Luan - 23 Cidade So Paulo So Paulo

IMPORTANTE: Quando for usar os comandos SQL para nomes usaremos entre estes nomes e para nmeros no usaremos nada. Veja um exemplo explicativo abaixo: Para valores em Texto:Isto o certo SELECT * FROM Pessoal WHERE Nome =Leandro Isto abaixo j est errado SELECT * FROM Pessoal WHERE Nome =Leandro

26

Todos os direitos reservados a Leandro Gonalves dos Santos www.cybershield.com.br

OPERADORES PERMITIDOS COM O COMANDO WHERE Segue a abaixo a lista de operadores relacionais usados com o comando WHEREOperador = > < >=