Introdução a Linguagem SQL: Comandos Básicos e Avançados Parte 2



Documentos relacionados
SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

Fundamentos de Banco de Dados Postgre com Sql

Utilizado em frases interrogativas (diretas ou indiretas):

Banco de Dados I Introdução SQL

BANCO DE DADOS PARA WEB

SISTEMAS DE INFORMAÇÃO

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

Utilizando o Postgres - comandos SQL para a manipulação de dados

Banco de Dados. Professora: Luciana Faria

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

SQL. Prof. Roger Cristhian Gomes

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Tabelas. Banco de Dados I MySQL

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

BANCO DE DADOS GERENCIAL 1 A U L A 2

A linguagem SQL

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

BCD29008 Banco de dados

Linguagem de Consulta Estruturada (SQL)

Prof. Dr. Joaquim Assunção Banco de Dados. SQL (parte 4) DDL Restrições

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Database and Applications. Criação, inserção de dados PHP+MySQL

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

IMPLEMENTAÇÃO DE BANCO DE DADOS

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

PSI Linguagem de Definição de dados. Módulo 15

Linguagem SQL Restrições, Triggers e Views

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

Sistemas de Banco de Dados I. Escola Alcides Maya DDL - Introdução

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Introdução em Banco de Dados

MySql. Introdução a MySQL. Andréa Garcia Trindade

Manipulação de Dados com SQL

Introdução à linguagem SQL

Bases de Dados. DDL Data Definition Language

Manual do Usuário. Quiz Online

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Manipulando a base de dados

Roteiro 8 Comandos SQL parte 2: Comandos DDL

BANCO DE DADOS PARA NINJAS

Considere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado:

Prof. Carlos Majer Aplicações Corporativas UNICID

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

Aula 06 Sistemas Embarcados LT38C

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Fábio Borges de Oliveira. MySQL

MySQL + PHP 06/05/2015. IFSC/campus Florianópolis Programação para a WEB Prof. Herval Daminelli

COMO VENDER MAIS USANDO FUNIL DE VENDAS. Capítulo III: Etapas do Funil de Vendas

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Disciplina: Banco de Dados Tema: SQL Parte 2

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Tarefa Orientada 8 Criação de tabelas

SQL (Structured Query Language)

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

INDEX. Serve para organizar os dados e agilizar a pesquisa/consulta dos dados armazenado nas tabelas.

SQL (Structured Query Language)

Bancos (Bases) de Dados

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL (Structured Query Language)

Importar e Exportar Dados

Oracle Database: Introdução à Linguagem SQL

Marcos Alexandruk Marcos Alexandruk

Curso PHP Aula 08. Bruno Falcão

MODELAGEM DE DADOS MODELO FÍSICO

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

Banco de Dados SQL injection

Rápida revisão do Modelo Relacional

Introdução ao PostgreSQL

Banco de Dados. Colégio Singular. Curso Profissionalizante: Informática

Transcrição:

Introdução a Linguagem SQL: Comandos Básicos e Avançados Parte 2 Continuando o nosso resumão de comandos SQL, vamos ver alguns que estão faltando e em outra postagem irei demonstrar as funções utilizadas. ÍNDICES (INDEX) O objetivo dos índices é agilizar a busca de algum dado na tabela, sem ter que lê-la por completo, de forma eficiente. Toda tabela que for atualizada e que possuir índice, irá demorar mais que uma tabela sem índice, pois seus índices precisam ser atualizados também. Sendo assim, você só deve utilizar índices em colunas que você irá utilizar com frequência. Neste caso é permitido valores duplicados de índices: CREATE INDEX nome_indice ON tabela (nome_coluna); Sem permitir valores duplicados: CREATE UNIQUE INDEX nome_indice ON tabela (nome_coluna); Exemplos de sua utilização: CREATE INDEX pessoa ON clientes (nome, sobrenome); CREATE UNIQUE INDEX identificacao ON pessoas (num_cpf);

REMOVENDO/DELETANDO ÍNDICES, TABELAS E BD (DROP) Os comandos utilizados a seguir serão utilizados para EXCLUIR, então tenha muito cuidado e certeza ao utilizar estes comandos. Índices Vamos ver o exemplo de como remover o índice de uma tabela: ALTER TABLE tabela DROP INDEX nome_indice; Tabela DROP TABLE tabela; Banco de Dados DROP DATABASE banco_dados; LIMPANDO OS DADOS DE UMA TABELA (TRUNCATE) Caso você não queira excluir a tabela, mas quer limpar os dados contidos nela, você pode utilizar o comando TRUNCATE, seguindo o exemplo abaixo: TRUNCATE TABLE tabela; ALTERANDO UMA TABELA (ALTER

TABLE) O comando ALTER TABLE serve para adicionar, deletar ou alterar colunas dentro de uma tabela. Vamos ver um exemplo de cada um deles abaixo: Inserindo coluna na tabela Sintaxe: ALTER TABLE tabela ADD coluna tipo; Exemplo: ALTER TABLE clientes ADD nascimento date; Excluindo coluna na tabela Sintaxe: ALTER TABLE tabela DROP COLUMN coluna; Exemplo: ALTER TABLE clientes DROP COLUMN nascimento; Alterando coluna na tabela Sintaxe: ALTER TABLE tabela ALTER COLUMN coluna tipo; Exemplo: ALTER TABLE clientes

ALTER COLUMN nascimento date; UTILIZANDO CAMPO AUTO INCREMENTÁVEL (AUTO INCREMENT) Este tipo permite gerar números únicos e crescentes sempre que um novo registro for inserido (INSERT) em uma tabela. Normalmente utilizado como chave-primária (PK). Vejamos um exemplo de definição de campo auto increment quando criamos uma tabela: CREATE TABLE Clientes ( id_cliente int NOT NULL AUTO_INCREMENT, nome varchar(255) NOT NULL, endereco varchar(255), cidade varchar(255), PRIMARY KEY (id_cliente) ) Quando for inserir algum registro nesta tabela, não precisa declarar a coluna id_cliente, ou seja, a que está como AUTO_INCREMENT, pois o próprio BD irá definir seu valor. Veja o exemplo: INSERT INTO Clientes (nome, endereco, cidade) VALUES ("Diego", "Av. João Cabral Torres de Melo", "Maceió"); TABELAS VIRTUAIS (VIEW) As VIEWS são conjuntos de resultados de um comando SQL, contendo colunas e dados como se fosse uma tabela normal, sendo os campos de uma ou mais tabelas reais. Você pode utilizar o WHERE e JOIN em uma VIEW para visualizar como se estivesse vendo apenas uma tabela. Veja a sintaxe abaixo:

CREATE VIEW nome_view AS SELECT coluna(s) FROM tabela WHERE condição; Para visualizarmos a nossa VIEW, basta dar um SELECT nela: SELECT * FROM nome_view; Trabalhar com VIEWS é ótimo para evitar a utilização de SQL grande, onde você irá constantemente, facilitando o comando para visualizar os dados que você precisa. Alterando a VIEW (CREATE OR REPLACE VIEW) Veja a sintaxe: CREATE OR REPLACE VIEW nome_view AS SELECT coluna(s) FROM tabela WHERE condição; Excluindo a VIEW (DROP VIEW) Sintaxe é esta: DROP VIEW nome_view; DATAS (DATE) Uma coisa muito importante ao trabalhar com datas com o BD, é ter certeza que você está inserindo o formato de sua data igual ao formato aceito pela sua tabela. Veja abaixo algumas das funções de datas utilizadas pelo MySQL: Função NOW() Descrição Retorna a data e hora atual do BD.

CURDATE() CURTIME() DATE() EXTRACT() DATE_ADD() DATE_SUB() DATEDIFF() DATE_FORMAT() Retorna a data atual do BD. Retorna a hora atual do BD. Extrai parte de uma data ou hora. Retorna somente uma parte da data ou hora. Adicionar um intervalo específico de tempo de uma data. Subtrai um intervalo específico de tempo de uma data. Retorna o número de dias entre um intervalo de datas. Exibe a data/hora em formatos diferentes. Tipo de Dados para o DATE Os tipos abaixo são utilizados na hora de criarmos uma tabela em nosso BD: DATE formato YYYY-MM-DD DATETIME formato: YYYY-MM-DD HH:MM:SS TIMESTAMP formato: YYYY-MM-DD HH:MM:SS YEAR formato YYYY ou YY Valores Nulos (NULL) O valor NULL representa um dado desconhecido que está faltando, ou seja, que esteja vazio, sem valor algum. Por padrão, as colunas de uma tabela podem aceitar valores nulos. Iremos ver os comandos IS NULL e IS NOT NULL. Algumas características básicas sobre o NULL: Este tipo de valor é tratado de forma diferente dos outros; É utilizado para preencher valores desconhecidos ou inaplicáveis;

São valores padrões em comandos de INSERT ou UPDATE quando não são definidos algum outro valor; O valor NULL e 0 (zero) não podem ser comparados, pois são valores diferentes. Não são equivalentes; Os próximos dois comandos que iremos ver, IS NULL e IS NOT NULL, são utilizados em comandos de seleção (SELECT), já que não podemos utilizar os operadores de comparação como =, <, > ou <>. Veja um exemplo de cada um deles. IS NULL SELECT nome,cidade,telefone FROM clientes WHERE cidade IS NULL; IS NOT NULL SELECT nome,cidade,telefone FROM clientes WHERE cidade IS NOT NULL; DEFININDO PSEUDÔNIMOS (ALIAS) Você pode renomear colunas e tabelas para uma consulta. Isto é muito bom quando trabalhamos com consultas grandes e complexas, facilitando a identificação dos campos, tanto na leitura como na escrita. Sintaxe do Alias com tabelas SELECT coluna FROM tabela AS nome_novo_tabela; Sintaxe do Alias com colunas SELECT coluna AS nome_novo_coluna FROM tabela; Vejam alguns exemplos de sua utilização:

SELECT c.nome, c.cidade, c.telefone FROM clientes AS c WHERE c.cidade IS NOT NULL; LIMITANDO A QUANTIDADE DE REGISTROS RETORNADOS (TOP/LIMIT) O comando TOP especifica a quantidade de registros a serem retornados, podendo ser útil principalmente em tabelas enormes, com milhares de registros. Pode-se utilizar definindo um valor exato de registros ou em porcentagem do total. Vejam os exemplos abaixo de suas utilizações: Porcentagem SELECT TOP 50 PERCENT * FROM clientes; Número SELECT TOP 2 * FROM clientes; SELECT * FROM clientes LIMIT 2; DEFININDO UM PADRÃO NO WHERE (LIKE) O operador LIKE é usado com a cláusula WHERE para refinar a seleção utilizando um padrão definido em uma coluna. Veja um exemplo: SELECT * FROM clientes WHERE nome LIKE "D%";

SELECT * FROM clientes WHERE nome LIKE "%ie%"; Veja que o sinal de porcentagem (%) pode ser utilizado como um curinga (está faltando letras no padrão), tanto antes como depois do padrão de refinamento. Veja abaixo mais detalhes de como trabalhar com curingas. TRABALHANDO COM CURINGAS (WILDCARDS) Os curingas são utilizados em busca dentro de um BD, podendo substituir um ou mais caracteres durante esta busca. Eles devem ser utilizados com o comando LIKE. Veja abaixo a tabela de uso: Curinga Descrição % Substitui por zero ou mais caracteres _ [charlist] [^charlist]or [!charlist] Substitui exatamente por um caracter Qualquer caracter dentro da lista Qualquer caracter que não esteja na lista BUSCANDO UM DE VÁRIOS VALORES PARA O WHERE (IN) Com o comando IN, você pode especificar vários valores no comando WHERE para fazer uma busca dentro desses valores dados. Veja o exemplo: SELECT * FROM clientes WHERE cidade IN('São Paulo','Rio de Janeiro');

BUSCANDO VALORES DENTRO OU FORA DE UM INTERVALO (BETWEEN) Utiliza-se o BETWEEN dentro do comando WHERE para fazer uma busca de valores que estejam entre um determinado intervalo de dados. Veja a sintaxe: SELECT coluna(s) FROM tabela WHERE coluna BETWEEN valor1 AND valor2; Veja alguns exemplos com uma busca dentro do intervalo (BETWEEN) e fora do intervalo (NOT BETWEEN): SELECT * FROM produtos WHERE qtd BETWEEN 1 AND 10; SELECT * FROM produtos WHERE qtd NOT BETWEEN 1 AND 10; Por enquanto é só pessoal. Espero que os comandos utilizados até aqui sirva muito bem e ajude a tirar algumas dúvidas frequêntes. Caso ainda tenha alguma dúvida, só comentar que eu responderei assim que possível. E não deixem de assinar meu blog com o seu e-mail ai do lado. Abraços!