• Nenhum resultado encontrado

Comandos SQL

N/A
N/A
Protected

Academic year: 2021

Share "Comandos SQL"

Copied!
24
0
0

Texto

(1)

BANCO DE DADOS

Estudo de um Linguagem para Banco

de Dados

(2)

help

Use meuBanco;

Show databases;

(Mostra todos os bancos de dados)

Show tables;

(Mostra todas as tabelas do banco de dados)

Show table status;

(Mostra todas as tabelas do banco de dados

detalhando seu status atual)

Show columns from minhaTabela; (Mostra todas as colunas de minhaTabela)

Show create table minhaTabela

(mostra o script de criação da tabela especificada)

Drop database meuBanco

(Deleta meuBanco)

Drop table minhaTabela;

(Deleta a minhaTabela)

(3)

O Script abaixo serve para fazer o backup do banco de dados MySql no linux para adapta-lo para windows é só trocar os caminhos e os comandos

#!/bin/sh

# mysqlBackup.sh

DATA=`/bin/date +%Y%m%d`

# LOCAL armazena o nome do arquivo de backup, neste caso # o diretório é /home/fabio/backup, configure aqui o seu # diretório de backup LOCAL="/home/fabio/backup/meuBanco-$DATA.sql" # variáveis do MySQL HOST="localhost" USER="armenio" PASSWORD="jujuba" DATABASE="meuBanco"

mysqldump -h $HOST -u $USER -p$PASSWORD nomeBanco > $LOCAL

(4)

SQL SERVER

CREATE DATABASE MeuBanco

/*Criação do Banco de dados com o nome de “MeuBanco”*/

MY SQL

CREATE DATABASE MeuBanco;

/*Criação do Banco de dados com o nome de “MeuBanco”*/

CREATE DATABASE

DDL – Data Definition Language

SELECIONANDO BANCO DE DADOS CRIADO

SQL SERVER

USE MeuBanco

MY SQL

(5)

SQL SERVER

CREATE TABLE MinhaTabela(

Codigo int primary key not null identity, Nome varchar(100) not null

); /*Criação da tabela no banco de dados */

MY SQL

CREATE TABLE alunos(

Codigo int auto_increment not null PRIMARY KEY, Pessoa int,

Constraint foreign key(pessoa) references Pessoa(Codigo) ); /*Criação da tabela no banco de dados */

CREATE TABLE

DDL – Data Definition Language

SQL SERVER

CREATE TABLE IF NOT EXISTS MinhaTabela( Codigo int primary key not null identity, Nome varchar(100) not null

); /*Criação da tabela no banco de dados */

MY SQL

CREATE TABLE IF NOT EXISTS alunos(

Codigo int auto_increment not null PRIMARY KEY, Pessoa int,

Constraint foreign key(pessoa) references Pessoa(Codigo) ); /*Criação da tabela no banco de dados */

(6)

DDL – Data Definition Language

MY SQL

CREATE TABLE IF NOT EXISTS alunos(

Codigo int auto_increment not null PRIMARY KEY, Pessoa int,

Constraint foreign key(pessoa) references Pessoa(Codigo) ON DELETE Cascade

); /*Criação da tabela no banco de dados com deleção de todos os registros da tabela referenciada*/

CREATE TABLE COM ON DELETE | ON UPDATE (CASCATE | SET NULL | NO ACTION)

MY SQL

CREATE TABLE IF NOT EXISTS alunos(

Codigo int auto_increment not null PRIMARY KEY, Pessoa int,

Constraint foreign key(pessoa) references Pessoa(Codigo) ON UPDATE Cascade

(7)

DDL – Data Definition Language

SQL SERVER

CREATE TABLE MinhaTabela(

Codigo int primary key not null identity, Sexo character(1) not null check(sexo=‘F’ or sexo=‘M’),

Nome varchar(100) not null

); /*Criação da tabela no banco de dados */

MY SQL

CREATE TABLE alunos(

Codigo int auto_increment not null PRIMARY KEY, Pessoa int,

Sexo character(1) not null check(sexo=‘F’ or sexo=‘M’), Constraint foreign key(pessoa) references Pessoa(Codigo) ); /*Criação da tabela no banco de dados */

(8)

SQL SERVER

DROP DATABASE MeuBanco

/*Deleção do Banco de dados com o nome de “MeuBanco”*/

MY SQL

DROP DATABASE MeuBanco;

/*Deleção do Banco de dados com o nome de “MeuBanco”*/

DELETAR DATABASE

SQL SERVER

DROP TABLE MinhaTabela

/*Deleção da tabela MinhaTabela no banco de dados */

MY SQL

DROP TABLE MinhaTabela;

/*Deleção da tabela MinhaTabela no banco de dados */

DELETAR TABLE

(9)

CRIAÇÃO de Tabelas

com chave estrangeira

CREATE TABLE xpto (

campo int NOT NULL,

FOREIGN KEY(campo) REFERENCES Tabela(campo)

);

ALTER TABLE xpto

ADD CONSTRAINT FOREIGN KEY(ID_CHAVE) REFERENCES Tabela(ID_CHAVE);

Diretamente no Create Table

Alterando a Tabela

ALTER TABLE xpto

ADD NovoCampo int,

ADD FOREIGN KEY(NovoCampo) REFERENCES Tabela(ID_CHAVE);

Alterando a Tabela Add Campo Foreign key

ALTER TABLE xpto

ADD NovoCampo int,

ADD CONSTAINT ‘nomeConstraint’ FOREIGN KEY(NovoCampo) REFERENCES

Tabela(ID_CHAVE);

(10)

ALTERAR TABELA

CREATE TABLE xpto (

campo int NOT NULL,

FOREIGN KEY(campo) REFERENCES

Tabela(campo)

);

UPDATE TABLE xpto

ADD CONSTRAINT nomeConstraint FOREIGN KEY(campoXpto)

REFERENCES Tabela(campo);

ALTER TABLE `meuBanco`.`minhaTabela`

MODIFY COLUMN `meuCampo` int null;

Criando tabela

Adicionando chave estrangeira em tabela existente

(11)

ALTERAR TABELA

ALTER TABLE minhaTabela ADD COLUMN NovoCampo int not null;

ALTER TABLE curso MODIFY column Seq int after Codigo;

(12)

DELETANDO INDEX de Tabelas

Sintaxe MySql

ALTER TABLE table_name DROP INDEX index_name

Sintaxe SQL Server

DROP INDEX index_name

(13)

DQL – Data Query Language

SQL SERVER (SELECT sem FROM)

SELECT campo1 As Primeiro, campo2 As Segundo, ..., campoN As Ultimo

MY SQL (SELECT sem FROM)

SELECT campo1 As Primeiro, campo2 As Segundo, ..., campoN As Ultimo

SQL SERVER (SELECT COM FROM)

SELECT campo1, campo2, ..., campon FROM Tabela

(*)WHERE Condicao1, Condicao2,...,CondicaoN

MY SQL (SELECT COM FROM)

SELECT campo1, campo2, ..., campon FROM Tabela

(*)WHERE Condicao1, Condicao2,...,CondicaoN;

(14)

DML – Data Manipulation Language

SQL SERVER

SELECT campo1, campo2, ..., campon FROM Tabela

(*)WHERE Condicao1, Condicao2,...,CondicaoN

MY SQL

SELECT campo1, campo2, ..., campon FROM Tabela

(*)WHERE Condicao1, Condicao2,...,CondicaoN;

SQL SERVER

DELETE Tabela

WHERE Condicao1, Condicao2,...,CondicaoN;

MY SQL

DELETE FROM Tabela

WHERE Condicao1, Condicao2,...,CondicaoN;

SQL SERVER

UPDATE Tabela

SET campo1=Valor1, campo2=Valor2, ..., campoN=ValorN

WHERE Condicao1, Condicao2,...,CondicaoN

MY SQL

UPDATE Tabela

SET campo1=Valor1, campo2=Valor2, ..., campoN=ValorN

WHERE Condicao1, Condicao2,...,CondicaoN

DELETE

INSERT

(15)

FUNCÕES

Estudo de um Linguagem para Banco

de Dados

(16)

SELECT AddDate(CampoData, Interval 30 Day)

FROM Tabela

SELECT AddTime(CampoTime, Interval 00:30:00)

FROM Tabela

Funções Internas

MySql

SELECT *

FROM Tabela

LIMIT 3

Traz os 3 primeiros registros da seleção

Adiciona 30 dias no campoData

Pode se usar valores negativos

Adiciona um tempo ao campoTime

SELECT *

FROM Tabela

ORDER BY(Campo)

Ordena os registros pelo campo

especificado

SELECT *

FROM Tabela

GROUP BY(Campo)

Agrupa os registros pelo(s) campo(s)

especificado(s)

SELECT * FROM Tabela1

UNION

SELECT * FROM Tabela2

Une a seleção 1 com a seleção 2 em

uma única seleção

(17)

SELECT current_date

Funções Internas

MySql

(18)

SELECT max(campo) FROM Tabela

Funções Internas

MySql

Seleciona o maior valor de uma tabela

baseando no campo especificado

SELECT min(campo) FROM Tabela

Seleciona o menor valor de uma tabela

baseando no campo especificado

SELECT count(distinct(campo)) FROM Tabela

Conta a quantidade de valores não repetidos

SELECT count(campo) FROM Tabela

Conta a quantidade de registros existentes

dentro de Tabela baseando-se em campo

SELECT lcase(campo) FROM Tabela

Retorna o campo digitado minúsculo

Equivalente ao

lower(campo)

SELECT ucase(campo)

FROM Tabela

Retorna o campo digitado maiúsculo

Equivalente ao

upper(campo)

SELECT replace(campo, ’old’, ’new’)

FROM Tabela

Substitui no campo especificado, o novo valor

pelo antigo valor

(19)

CASE case_value

WHEN when_value THEN statement

[WHEN when_value THEN statement ...]

[ELSE statement]

END as ‘Apelido’

or

CASE

WHEN search_condition THEN statement

[WHEN search_condition THEN statement ...]

[ELSE statement]

END as ‘Apelido’

*Obs.: não se usa *. Os demais campos devem ser mencionados se necessários.

CASE Statement

MySql

SELECT

CASE WHEN campo=‘F’ THEN ‘Feminino’

ELSE ‘Masculino’

end

FROM MinhaTabela;

Sintaxe ->

(20)

SELECT

If(campo=valor, condiçãoVerdadeira, CondiçãoFalsa) as Apelido,

DemaisCampos

FROM minhaTabela

IF Statement

(21)

DELIMITER $$/*delimita os comando atraves do delimitador*/

DROP FUNCTION IF EXISTS `meuBanco`.` minhaFuncao ` $$

CREATE FUNCTION ` meuBanco `.`test` () RETURNS INT

BEGIN

return (select count(codigo) from minhaTabela);

END $$

DELIMITER ;

Criando Funções

MySql

Retorna a quantidade de

registro da tabela

especificada quando

fizermos um

SELECT minhaFuncao()

(22)
(23)

Ligação de Tabelas

JOIN

une duas tabelas que possuem campos em comum;

Codigo Nome Departamento

1 Leandra Vendas 2 Romero Compras

Codigo Nome Vendedor

1 Antonio 1

2 Ana Paula 1

Codigo Nome Departamento Codigo Nome Vendedor

1 Leandra Vendas 1 Antonio Leandra

1 Leandra Vendas 2 Ana Paula Leandra

Vendedor

Cliente

SELECT *

FROM Vendedor v

JOIN Cliente c ON c.Vendedor = v.Codigo (*)WHERE <Condição>

(24)

Ligação de Tabelas

Vendedor

Codigo Nome Departamento

1 Leandra Vendas 2 Romero Compras

Cliente

Codigo Cliente Vendedor

1 Antonio 1

2 Ana Paula 1

Codigo Nome Departamento Codigo Cliente Vendedor

1 Leandra Vendas 1 Antonio Leandra

1 Leandra Vendas 2 Ana Paula Leandra

2 Romero Compras NULL NULL NULL

RIGHT JOIN

Une todos os registros da tabela da direita com a tabela da esquerda;

SELECT *

FROM Cliente v

Referências

Documentos relacionados

Para a institucionalização de um projeto de extensão, o proponente (servidor) deverá ter o projeto registrado na Diretoria de Extensão da PROEX – Pró-Reitoria

Consultar também o documento Instrumento de Avaliação Externa para as Equipes de Atenção Básica e Saúde Bucal (Saúde da Família ou parametrizada) disponível no PMAQ / 3º Ciclo

Luciana Bertocco de Paiva Haddad Pesquisador executante: Tatiana Morgado Conte Departamento/Instituto: Departamento de Gastroenterologia do Hospital das Clínicas/ Faculdade de

Aim: To determine the effectiveness of echoendoscopy in determining the depth of the lesions (T) identified by endoscopy in order to evaluate surgical and/or endoscopic

Patients diagnosed with ES by anatomopathological exam, which had recorded the serum levels of AP and LDH before and after pre- operative chemotherapy and the percentage of

O ponto de equilíbrio é o número de unidades que precisão ser vendidas para uma empresa atingir o equilíbrio- não ter lucro e nem prejuízo5. O CVL é qualquer análise

Atrav´es das Figuras 4.21(a) e 4.21(b), observamos que ocorre uma queda na densidade de predadores quando consideramos a taxia quase local no cen´ario 3, em compara¸c˜ao com o caso

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e