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

Documentos relacionados
Manipulando a base de dados

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

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

Banco de Dados I Introdução SQL

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

SQL Server Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

Banco de Dados. Professora: Luciana Faria

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

SQL consulta com operadores

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

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

IMPLEMENTAÇÃO DE BANCO DE DADOS

Introdução em Banco de Dados

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>

Aula 06 Sistemas Embarcados LT38C

Manipulação de Dados com SQL

BANCO DE DADOS GERENCIAL 1 A U L A 2

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

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

BCD29008 Banco de dados

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

A linguagem SQL

SISTEMAS DE INFORMAÇÃO

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

TLBD II. Continuação

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

Disciplina: Banco de Dados Tema: SQL Parte 2

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

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

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

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

BANCO DE DADOS PARA WEB

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

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

Linguagem de Consulta Estruturada (SQL)

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

SQL. Prof. Roger Cristhian Gomes

Como criar um banco de dados usando o mysql

Importar e Exportar Dados

BANCO DE DADOS PARA NINJAS

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

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

Rápida revisão do Modelo Relacional

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

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Fundamentos de Banco de Dados Postgre com Sql

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

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

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

Tabelas. Banco de Dados I MySQL

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:

INTRODUÇÃO AO MYSQL. Eng. Computação

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

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

Curso de Banco de Dados. Prof. Rone Ilídio

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação


PHP INTEGRAÇÃO COM MYSQL PARTE 1

SQL E MYSQL - COMANDOS BÁSICOS

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Flávio Dantas

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

Bancos (Bases) de Dados

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Linguagem SQL Restrições, Triggers e Views

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Múltiplas Tabelas. Disciplina de Banco de Dados

GBC043 Sistemas de Banco de Dados

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

Módulo 6: Linguagem de Programação IV 6.2. Bases de Dados Introdução à Linguagem SQL

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

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

UFG - Instituto de Informática

Prof. Carlos Majer Aplicações Corporativas UNICID

ANEXO B Manual básico de SQL

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Discussão exercício aula 18. SQL Linguagem de Manipulação de Dados. Discussão exercício aula 18. Discussão exercício aula 18 SQL.

15 - Introdução às Bases de Dados

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

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

INSERT INTO shop VALUES (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69), (3,'D',1.25),(4,'D',19.95);

HACKING DAY. Bancos de Dados

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:

Revisão de Bancos de Dados

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

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

Linguagem de Consulta Estruturada SQL- DML

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento

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

Treinamento em SQL. Índice

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

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

Transcrição:

1. Manuseio do banco de dados MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS As seguintes instruções manuseiam o banco de dados: cria o banco mostra os bancos existentes coloca um BD em uso exclui um BD create database [if not exists] <nome> show databases use <nome> drop database <nome> Para testar estas instruções, digite as instruções abaixo, no prompt do MySql. No Windows, podem ser usadas maiúsculas e minúsculas sem problema; no Linux, não. Alguns autores adotam a convenção de escrever todos os comandos SQL em maiúsculas. create database teste; Alguns BDs listados são privativos do MySql: são usados para guardar as informações sobre os BDs criados pelos usuários. Abra o Meu Computador e faça o caminho onde está instalado o MySql e verifique na pasta Data a criação do BD teste. Para verificar o erro e a criação de um BD já existente, digite: create database teste; create database if not exists teste; Coloque o BD teste em uso, digite: use teste; Apague o BD, digite: drop database teste; Depois, verifique novamente os BDs existentes, com Abra o Meu Computador e faça o caminho onde está instalado o MySql e verifique na pasta Data a exclusão do BD teste. 2. Criação de tabelas A tabela para o cadastro de funcionários deve se chamar cadfun, utiliza alguns dos principais comandos da linguagem SQL e tem a seguinte estrutura: Campo Tipo* Descrição CodFun** integer código do funcionário (não nulo) Nome varchar(40) nome do funcionário (não nulo) Depto char ( 2 ) departamento onde está locado o funcionário Funcao char (20) função do funcionário Salario decimal (10, 2) salário do funcionário * os tipos de dados possíveis no mysql estão na tabela anexa TIPOS DE DADOS ** chave primária. Antes de criar a tabela, vamos criar um novo BD virtual, que conterá a maior parte dos dados que usaremos nas lições seguintes. Para isto, digite o seguinte:

create database virtual; use virtual; Para criar a tabela, digite o comando abaixo. Compare a sintaxe do comando digitado com a descrição da estrutura da tabela. Para efeito didático, a instrução foi digitada em várias linhas para destacar a endentação; observe a colocação das vírgulas e parênteses e que o ; (ponto e vírgula) encerra a instrução. create table CadFun ( CODFUN integer not null primary key, NOME varchar(40) not null, DEPTO char( 2), FUNCAO char(20), SALARIO decimal(10, 2) ); Para mostrar as tabelas do BD em uso, digite: show tables; Para mostrar a estrutura da tabela, ou de apenas um campo, digite: describe CadFun; describe CadFun CODFUN; 3. Inserção de registros A inserção de registros pode ser feita pelos comandos INSERT e pelo comando LOAD DATA. O primeiro insere diretamente os registros na tabela, após a execução de cada Insert; já Load data permite inserir de uma vez os comandos gravados em um arquivo. Insert tem o seguinte formato (atenção com os parênteses): INSERT INTO <tabela> (campo1, campo2, campo3, campon) VALUES (valor1, valor2, valor3, valorn); Insira o primeiro registro. Observe os parênteses, as vírgulas e as aspas para os campos tipo char, bem como o ponto decimal e o ; (ponto e vírgula). INSERT INTO cadfun (CODFUN, NOME, DEPTO, FUNCAO, SALARIO) VALUES (12, 'CARLOS ALBERTO', '3', 'VENDEDOR', 1530.00); Só por castigo, ou melhor, para treinar um pouco mais, acrescente mais dois registros: codfun nome depto funcao salario 15 MARCOS HENRIQUE 2 GERENTE 1985.75 7 APARECIDA SILVA 3 SECRETARIA 1200.50 Quando um campo deva ser inserido com NULL, basta suprimir o nome deste campo da lista de campos. Na nossa tabela, os campos CodFun e Nome não podem ser nulos. Por exemplo, o comando a seguir insere um registro sem informar o campo FUNCAO. INSERT INTO cadfun (CODFUN, NOME, DEPTO, SALARIO) VALUES (44, JACIBA DA SILVA', '3', 1500.00); Quando estiver inserindo todos os campos do registro e na sua ordem correta, você pode suprimir a primeira parte da instrução. Insira mais dois registros digitando o seguinte: 2, 'WILSON DE MACEDO', '3', 'PROGRAMADOR', 1050.00); 5, 'AUGUSTO SOUZA', '3', 'PROGRAMADOR', 1050.00);

4. Consulta de registros A consulta pode ser feita com a seguinte instrução: SELECT [tipo] <campos> FROM <tabela> [condição]; Tipo: pode ser ALL (todos os registros) ou DISTINCT (registros distintos). Campos: é uma lista dos campos, separada por vírgula; caso se use * (asterisco), deseja-se ver todos os campos. Condição: é dada por outras cláusulas WHERE, ORDER BY..., etc, que serão detalhadas mais à frente. Para ver todos os funcionários cadastrados, digite: Para ver somente o nome e a função, digite: SELECT NOME, FUNCAO FROM cadfun; Para ver quem trabalha em um departamento, digite: SELECT NOME, CODFUN FROM cadfun WHERE DEPTO = 3 ; Para mudar a ordem da consulta, ascendente e descendente, digite estes exemplos: SELECT NOME, SALARIO FROM cadfun ORDER BY NOME; SELECT NOME, SALARIO FROM cadfun ORDER BY NOME DESC; SELECT NOME, SALARIO FROM cadfun ORDER BY NOME DESC; SELECT DEPTO, NOME FROM cadfun ORDER BY DEPTO, NOME DESC; SELECT NOME FROM cadfun WHERE DEPTO = 3 ORDER BY NOME; 5. Alteração de registros A alteração de registros pode ser feita com a seguinte instrução: UPDATE <tabela> SET <campo1> = <expressão1>, <campo2> = <expressão2>,..., <campon> = <expressãon> [condição]; Campo: nome da coluna da tabela que se deseja atualizar. Expressão: valor que se deseja atribuir ao campo. A mesma instrução UPDATE pode alterar vários campos do registro. Condição: é dada pela cláusula WHERE. Vamos alterar o salário do funcionário 7 e transferir a Ana Bastos do departamento 5 para o 3. Os SELECT mostram o estado antes e depois dos UPDATE. WHERE CODFUN = 7; UPDATE cadfun SET SALARIO = 2300.56 WHERE CODFUN = 7; WHERE CODFUN = 7; WHERE NOME = 'ANA BASTOS'; UPDATE cadfun SET DEPTO = '3' WHERE NOME = 'ANA BASTOS'; WHERE NOME = 'ANA BASTOS'; Vamos também conceder um reajuste de 10% para todos os empregados. Digite: UPDATE cadfun SET SALARIO = SALARIO * 1.10;

6. Exclusão de registros A exclusão de registros pode ser feita com a seguinte instrução: DELETE FROM <tabela> [condição]; Condição: é dada pela cláusula WHERE. Atenção!, pois se esta cláusula for omitida, é feita a exclusão de todos os registros da tabela. Vamos excluir o departamento 2 inicialmente e depois o empregado Marcelo Souza. Os SELECT mostram o estado antes e depois dos DELETE. SELECT DISTINCT DEPTO FROM cadfun; DELETE FROM cadfun WHERE DEPTO = '2'; SELECT DISTINCT DEPTO FROM cadfun; DELETE FROM cadfun WHERE NOME = 'MARCELO SOUZA'; Embora possamos excluir todos os registros de uma tabela com DELETE, a instrução abaixo faz isto com maior eficiência: TRUNCATE TABLE <tabela>; 7. Alteração da estrutura da tabela A alteração da estrutura da tabela pode ser feita com a seguinte instrução: ALTER TABLE <tabela> <operação>; Operação: permite adicionar e excluir colunas de uma tabela: o ADD <campo> <tipo>: insere uma nova coluna <campo>, informando em seguinda seu <tipo> de dados, o DROP <campo>: elimina um campo da tabela. Vamos colocar na tabela o campo ADMISSAO (data de admissão). Em seguida, vamos preencher os dados destes campos. No mysql o formato da data é: aaaa-mm-dd ; em outros SGBD este formato pode ser diferente. Os SELECT mostram o estado da tabela antes e depois. ALTER TABLE cadfun ADD ADMISSAO DATE; UPDATE cadfun SET ADMISSAO = '2006-01-15' WHERE CODFUN = 2; UPDATE cadfun SET ADMISSAO = '1999-10-21' WHERE CODFUN = 3; UPDATE cadfun SET ADMISSAO = '2004-10-21' WHERE CODFUN = 4; UPDATE cadfun SET ADMISSAO = '2006-04-26' WHERE CODFUN = 5; UPDATE cadfun SET ADMISSAO = '1980-05-10' WHERE CODFUN = 7; UPDATE cadfun SET ADMISSAO = '1999-12-15' WHERE CODFUN = 9; UPDATE cadfun SET ADMISSAO = '2000-12-21' WHERE CODFUN = 12; UPDATE cadfun SET ADMISSAO = '2000-10-21' WHERE CODFUN = 25;

Vamos aproveitar e testar o campo de data. O primeiro select usa uma função para extrair o mês; o segundo usa >=. Digite: SELECT NOME, ADMISSAO FROM cadfun WHERE MONTH(ADMISSAO) = 12; SELECT NOME, ADMISSAO FROM cadfun WHERE ADMISSAO >= '2000-01-01'; Para preparar a tabela para os próximos exercícios, vamos recriar o departamento 2, readmitir um empregado e admitir outros três. Digite: 15, 'MARCOS HENRIQUE', '2', 'GERENTE', 2184.33, '2006-05-25'); 20, 'AUDREY TOLEDO', '2', 'SUPERVISORA', 1700.00, '2006-07-05'); 22, 'SANDRA MANZANO', '2','ANALISTA', 2000.00, '2006-07-01'); 24, 'MARCIO CANUTO', '2', 'PROGRAMADOR', 1200.00, '2006-07-10'); A microempresa deve ter ficado com doze empregados. 1. Operadores aritméticos CONSULTAS COM OPERADORES Os operadores aritméticos (soma, subtração, multiplicação, divisão e resto) estão descritos na tabela anexa tabela de operadores e funções matemáticas. Os operadores podem ser usados dentro de um comando Select: eles criam um campo calculado dentro da consulta, mas não afetam os valores das tabelas. Verifique, após os exemplos abaixo, que a tabela permanece inalterada. Digite: SELECT NOME, SALARIO FROM cadfun; SELECT NOME, SALARIO + 100 FROM cadfun; SELECT NOME, SALARIO FROM cadfun; SELECT NOME, SALARIO * 1.20 FROM cadfun; SELECT NOME, SALARIO FROM cadfun; 2. Operadores de comparação ou relacionais Os operadores relacionais que podem ser usados no mysql constam na tabela a seguir. Operador Descrição > Maior do que < Menor do que = Igual a <> ou!= Diferente de >= Maior ou igual a <= Menor ou igual a <=> Igual para Null Por exemplo, digite: WHERE DEPTO = 5 ; WHERE FUNCAO = 'VENDEDOR'; WHERE SALARIO <= 1700;

WHERE SALARIO > 1700 + 50; WHERE SALARIO > (1700 + 50); 3. Operadores lógicos Os operadores lógicos conhecidos na programação também podem ser usados no mysql e sua notação consta na tabela a seguir. Operador Operador Descrição AND && E conjunção OR Ou disjunção NOT! Não negação XOR Ou exclusivo Por exemplo, digite: WHERE (DEPTO = '3') AND (FUNCAO = 'PROGRAMADOR'); WHERE (DEPTO = '3') OR (DEPTO = '5'); WHERE NOT (FUNCAO = 'VENDEDOR'); WHERE (DEPTO = '5') XOR (FUNCAO = 'PROGRAMADOR'); 4. Operadores adicionais Alguns operadores adicionais podem ser usados no mysql e sua notação e seu significado consta na tabela a seguir. Operador IS NULL BETWEEN IN LIKE Descrição Verifica se um campo está vazio. Verifica se um valor está dentro de um intervalo. Verifica se um valor esté em um conjunto de valores. Busca valores semelhantes. Para testar estes operadores, crie um novo campo (a quantidade de filhos) nas tabelas CadFun e Morto e depois verifique seus valores. Para isto, digite: ALTER TABLE cadfun ADD FILHOS SMALLINT; ALTER TABLE morto ADD FILHOS SMALLINT; SELECT NOME, FILHOS FROM cadfun; WHERE FILHOS IS NULL; WHERE NOT FILHOS IS NULL; WHERE FILHOS IS NOT NULL; WHERE NOT (FILHOS IS NULL);

Vamos alterar os valores deste campo para melhorar os exemplos. Para isto, digite: UPDATE cadfun SET FILHOS = 1 WHERE CODFUN = 2; UPDATE cadfun SET FILHOS = 3 WHERE CODFUN = 3; UPDATE cadfun SET FILHOS = 2 WHERE CODFUN = 5; UPDATE cadfun SET FILHOS = 1 WHERE CODFUN = 9; UPDATE cadfun SET FILHOS = 4 WHERE CODFUN = 20; UPDATE cadfun SET FILHOS = 3 WHERE CODFUN = 25; ; WHERE FILHOS IS NULL; WHERE NOT (FILHOS IS NULL); WHERE SALARIO BETWEEN 1700 AND 2000; WHERE SALARIO NOT BETWEEN 1700 AND 2000; WHERE DEPTO IN ('2', '3'); WHERE DEPTO NOT IN ('2', '3'); O operador LIKE é ainda mais poderoso, pois pode trabalhar com dois caracteres curinga: % (percentagem) significa qualquer quantidade (0, 1, 2...) de caracteres combinando, (alguns BDs usam * asterisco), _ (sublinhado) significa apenas um caractere igual. Estes caracteres podem ser usados no início, meio e fim do campo, permitindo inúmeras situações e combinações. Alguns exemplos: Exemplo: Where... Operação Salario like 11% Encontra valores que começam com 11. Salario like %8% Encontra valores que tenham 8 em qualquer posição. Salario like _0% Encontra valores que tenham 0 na segunda posição. Salario like 1_%_% Encontra valores que começam com 1 e tenham 3 caracteres de comprimento (?? no mínimo??) Salario like %6 Encontra valor que termine com 6. Salario like _1%6 Encontra valores que tenham 1 na segunda posição e termine com 6. Digite os comandos a seguir para testar o operador Like: WHERE NOME LIKE 'A%'; WHERE NOME LIKE '_A%'; WHERE NOME LIKE '%AN%'; WHERE SALARIO LIKE '%6'; WHERE SALARIO LIKE '_5%2'; WHERE NOME NOT LIKE '%AN%'; Agora digite os comandos a seguir completando de acordo com a tabela anterior, para verificar os exemplos apresentados: SELECT NOME, SALARIO FROM cadfun WHERE SALARIO LIKE (complete de acordo com a tabela de exemplos).