SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
MySQL
CONCEITOS E PRÁTICAS DO SISTEMA DE
GERENCIAMENTO DE BANCO DE DADOS

facebook.com/rangeljavier
twitter.com/rangeljavier
profe.rangelxavier@yahoo.com
O QUE JÁ SABEMOS...
 O que é um Banco de Dados.
 Projeto de Banco de Dados
 Modelo de Dados Relacional
 Diagrama Entidade Relacionamento
 SGBDs
 Normalização
 Etc.
2
SQL
 Structured Query Language,

ou Linguagem de Consulta
Estruturada ou SQL;
 Trata-se de uma linguagem específica
para a manipulação de tabelas de
dados;
 A linguagem padrão universal para
manipular bancos de dados relacionais
através dos SGBDs.
3
GRUPOS DE COMANDOS SQL
 Os comandos do SQL são classificados
em três grupos, de acordo com suas
principais funções:
 DML – Data Manipulation Language
 DDL – Data Definition Language
 DCL – Data Control Language

4
DML
 (Linguagem de Manipulação de Dados);
 É o subconjunto mais utilizado da
linguagem SQL, pois é através da DML
que operamos sobre os dados dos
bancos de dados com instruções de
inserção, atualização, exclusão e
consulta de informações. Comandos
como INSERIR, DELETAR, ATUALIZAR,
SELECIONAR E ETC.

5
DDL
 (Linguagem de Definição de Dados) é o
subconjunto da SQL utilizado para
gerenciar a estrutura do banco de
dados. Com a DDL podemos criar,
alterar e remover objetos (tabelas) no
banco de dados.

6
DCL
 (Linguagem de Controle de Dados) é o
subconjunto da SQL utilizado para
controlar o acesso aos dados,
basicamente com dois comandos que
permite ou bloqueia o acesso de
usuários a dados;

7
SQL X MYSQL
 Só para constarmos o MySQL não é uma
extensão do SQL.
 O MySQL é um Sistema de
Gerenciamento de Banco de Dados
 O SQL é a linguagem para manipulação
dos dados no SGBD.

8
SQL X MYSQL
 Para utilizar as características e o

funcionamento do SQL é preciso se
servir de um Sistema de Gerenciamento
de Bancos de Dados (SGBD), isto é, de
um ambiente no qual possamos utilizar
os comandos desta linguagem para
manipular dados.

9
SQL – REGRAS
 Todas as palavras-chave das instruções

SQL serão escritas em maiúsculo;
 Sempre no final de cada instrução, deve
ser terminado com um ponto-evirgula (;)

10
INSTALAR MYSQL
 Existem alternativas para conseguir o
MySQL em seu computador.

 Baixar o MySQL no seu site e instala-lo;
 (ou) Instalar pacotes que venham com o

MySQL incluso, caso do XAMPP e WAMP;
 MySQL Workbench;

11
PRIMEIRO ENCONTRO
 Abrir o Prompt Comando do Windows.
 Atalho: Win + R
 Executar: cmd
 Go! Go! Go!

12
PRIMEIRO ENCONTRO
 Acessar o diretório c:/xampp/mysql/bin
pelo prompt

 Usar o comando:
cd xampp/mysql/bin

13
CONEXÃO COM MYSQL
 Precisamos utilizar um comando para

acessar o prompt do MySQL.
 Ao instalarmos o MySQL é obrigatório
criar um usuário e senha para o acesso
dos Banco de Dados. Por padrão, o
usuário é root e a senha é vazia.
 Estas informações (usuário e senha) são
necessários para este passo.
14
CONEXÃO COM MYSQL
 O comando para acessarmos o MySQL
é:
mysql –u usuario –p senha

 Em nosso caso ficando:
mysql –u root –p

15
Conexão realizada!

16
SQL
AGORA NÓS VAMOS PRATICAR...
CRIAR UM BANCO DE DADOS
 Para criar de um banco de dados o
comando é simples.

mysql> CREATE DATABASE meu-banco;

CREATE DATABASE seguido do nome
desejado de banco de dados.
18
MOSTRAR BANCO DE DADOS
 Podemos verificar rapidamente a

existência do BD recém-criado, bem
como a de todos os outros criados
anteriormente, utilizando a instrução
SHOW DATABASES (mostrar bancos de
dados);

mysql> SHOW DATABASES;
19
CRIAR BANCO DE DADOS
 SE NÃO EXISTIR...
 Para verificar se exibe um determinado

banco de dados antes da criação de um
novo. O comando utilizado é:

mysql> CREATE DATABASE IF NOT EXISTS
meu-banco;
20
DELETAR UM BANCO DE DADOS
 Para excluir um banco de dados, usa-se

o comando DROP DATABASE, seguido do
nome do banco de dados que deseja
deletar.

mysql> DROP DATABASE meu-banco;

21
CUIDADO AO DELETAR
 É preciso ressaltar que, ao apagar um

banco de dados, todas as suas tabelas
e os dados nelas contidos também
serão apagados e, portanto, perdidos
de maneira irreversível.

 ENTÃO, CUIDADO! 
22
Alguém pode me dizer?
 Partindo do conceito que vimos que o
SQL é divido em três grupos. Estes
comandos que utilizamos se
enquadram em qual deles?

a) DML
b) DDL
c) DCL
23
Alguém pode me dizer?
 Partindo do conceito que vimos que o
SQL é divido em três grupos. Estes
comandos que utilizamos se
enquadram em qual deles?

a) DML
b) DDL
c) DCL
24
USAR UM BANCO DE DADOS
 Como vimos, podemos criar vários

bancos de dados, porém, podemos
manipular apenas um por vez. Assim,
antes de começar, é preciso selecionar
qual será o banco de dados que
queremos alterar.
 Isso é feito utilizando o comando USE
(“usar” em inglês), seguido pelo nome
do banco de dados em questão.
25
USAR UM BANCO DE DADOS
mysql> USE meu-banco;

26
CRIAR UMA TABELA
 A regra base do comando para criar

uma tabela no banco de dados é o
comando para criar tabela, seguido do
nome da tabela.
 Também é necessário informar os
campos da tabela, seu tipo e seu
tamanho.

27
CRIAR UMA TABELA
mysql> CREATE TABLE cadastro
(
nome CHAR (15),
sobrenome CHAR (20)
);

28
CRIAR UMA TABELA
mysql> CREATE TABLE cadastro
(
nome CHAR (15),
sobrenome CHAR (20)
);
CAMPO DA
TABELA

TIPOS
DE DADOS

NOME DA
TABELA

TAMANHO
DO CAMPO

29
TIPOS DE CAMPOS
 Existem vários tipos possíveis de dados

no SQL, embora os mais comuns sejam:
 INT ou INTEGER: Para inteiros de
tamanho normais
 TIMESTAMP: Para data e hora e pode
ser atribuídos automaticamente;
 CHAR e VARCHAR: Para caracteres até
no max 255 de tamanho;
 TEXT ou LONGTEXT: Para textos longos;
30
MOSTRAR TABELA
 Para exibir a lista de tabelas do banco

de dados que está usando atualmente,
basta utilizar o comando:

mysql> SHOW TABLES;

31
MOSTRAR ESTRUTURA DA TABELA
 Podemos também analisar a estrutura

de uma tabela de maneira aprofundada
usando o comando DESCRIBE
(“descrever”, em inglês), seguido pelo
nome da tabela.

mysql> DESCRIBE minha-tabela;

32
INSERIR VALORES NA TABELA
 O comando de INSERIR é um dos mais

utilizados. Para inserir valores em uma
determinada tabela, basta seguir a
regra:
mysql> INSERT nome_da_tabela
VALUES (‘valor1’, ‘valor2’, ...);

33
INSERIR VALORES NA TABELA
mysql> INSERT tabela (campo1,
campo2, campo3, ...) VALUES (“valor1”,
“valor2”, “valor3”);

34
SELECIONAR VALORES DA TABELA
 É possível selecionar valores da tabela,

utilizando o comando SELECT do SQL. O
comando SELECT é, basicamente, a
ferramenta principal para consultar
informações de um banco de dados, por
isso, é comumente chamado de query.

mysql> SELECT dados_desejados FROM
nome_tabela;
35
SELECIONAR VALORES DA TABELA
 Podemos definir alguns critérios na

seleção de dados. Há duas possíveis
alternativas para estes critérios, a
utilização de um asterisco (*) e da
interrogação (?);

36
ASTERISCO (*)
 Significa tudo, ou seja, todos os dados.

Pode ser combinado com um ou mais
caracteres para especificar conjuntos de
dados com algo em comum, por
exemplo, em geral, se digitarmos o
critério A* significa que queremos ver
todos os registros cujo conteúdo
começa com a letra A;
37
INTERROGAÇÃO (?)
 Representa um caractere desconhecido.

Por exemplo, se definirmos como
critério o valor ?????, quer dizer que
queremos ver somente os registros que,
em determinado campo, contenham
valores de cinco caracteres.

38
ALTERAR TABELA
 Para alterar uma tabela, basta utilizar

ALTER TABLE, o nome da tabela o qual
quer alterar e qual operação de
alteração quer fazer.

 Operações: Adicionar novo campo,
renomear nome da tabela e etc.
As operações estão em cores destacadas.
39
RENOMEAR, ADICIONAR E MODIFICAR
mysql> ALTER TABLE pessoas RENAME
TO cadastros;
mysql> ALTER TABLE pessoas ADD
idade INT(3);

mysql> ALTER TABLE pessoas MODIFY
idade INT(5);
40
DELETAR E ORDENAR
mysql> ALTER TABLE pessoas DROP
cadastros;
mysql> ALTER TABLE pessoas ADD
idade INT(3) AFTER campo;

mysql> ALTER TABLE pessoas ADD
idade INT(3) FIRST;
41
“EXERCÍÇO”
 Crie um banco de dados chamado

cinema.
 Cria a tabela filmes:
 Insira 5 registro;
 Mostre apenas os
campos titulo,
duração e ano dos filmes cadastrados;
42
cmd
cd /
cd xampp/mysql/bin
(xampp)
cd wamp/bin/mysql/mysql5.5.8/bin
(wamp)
mysql –u root -p
43
 CRIAR BANCO DE DADOS cadastro;
 CRIAR TABELA pessoas: id, nome, idade;
 CRIAR TABELA times: id, time;
 TODO ID É PRIMARY KEY NOT NULL
AUTO_INCREMENT

44
OPÇÕES DOS CAMPOS
 Alguns campos podem ter

particularidades. Por exemplo, ser chave
primária, não pode ser vazia e etc.
Veremos algumas opções.

45
NOT NULL
 O campo com a opção NOT NULL,

significa que o campo não poderá ser
nulo. Para utilizar isso, basta na criação
do campo adicionar NOT NULL na frente
dele.
mysql> CREATE TABLE pessoas (nome
VARCHAR(255) NOT NULL);
46
PRIMARY KEY
 Para definirmos que um campo é chave
primária, utilizamos a opção PRIMARY
KEY, após o nome do campo.

mysql> CREATE TABLE pessoas (id
INT(5) PRIMARY KEY);
47
AUTO INCREMENT
 Auto incremento, significa que a cada

registro de uma tabela, o valor será
incrementado (aumentado).
Geralmente, utilizamos para campos ID,
CODIGO ou CHAVES PRIMARIAS;

48
AUTO INCREMENT
mysql> CREATE TABLE animals (id
INT(5) NOT NULL PRIMARY KEY
AUTO_INCREMENT, name
VARCHAR(50) NOT NULL);

49
CLAUSULA WHERE
 Usando a cláusula WHERE, podemos

especificar um critério de seleção para
selecionar os registros necessários de
uma tabela.

50
CLAUSULA WHERE
 O WHERE funciona como uma condição
em qualquer linguagem de
programação. Esta cláusula é usada
para comparar determinado valor com
o valor do campo disponível na tabela
MySQL. Exemplo:

SELECIONE campo_x DA tabela_y ONDE
campo_x seja igual ao valor
51
CLAUSULA WHERE
mysql> SELECT * FROM pessoas WHERE
id=1;

52
CLAUSULA WHERE

53
LIMITAR
 Pode-se limitar a quantidades de

registros. Se não queremos uma lista
extensa e só precisamos das 5
primeiras, coloca-se o LIMIT de 5.
mysql> SELECT * FROM pessoas LIMIT
5;

54
ORDENAR
 Quando for necessário ordenar a limita
a lista de registros em ordem crescente
(ASC) ou decrescente (DESC).

 Para utilizar a ordenação, precisa

escolher por qual campo será feita a
ordenação.

55
ORDERNAR
ORDEM DECRESCENTE
mysql> SELECT * FROM pessoas ORDER
BY idade DESC.
ORDEM CRESCENTE
mysql> SELECT * FROM pessoas ORDER
BY idade ASC.
56
LIKE
 O LIKE é usado para fazer buscas por

partes de conteúdos. Por exemplos,
precisamos capturar todas as pessoas
com que tem Ana no nome, utilizamos
do seguinte código:

57
LIKE
mysql> SELECT * FROM pessoas
WHERE nome LIKE '%ana%’ LIMIT 2;

 O LIKE é utilizado da seguinte forma:
LIKE %conteudo%

58
UNIR TABELA
 Pode-se unir duas tabelas ou mais,

juntas. Para isso utiliza-se o INNER JOIN.
mysql> SELECT * FROM pessoas INNER
JOIN times;

59
UNIR TABELAS
mysql>
SELECT pessoas.nome, times.time
FROM pessoas
INNER JOIN times ON pessoas.time_id
= times.id LIMIT 5;

60
UNIR TABELAS
mysql> SELECT tabela1.campo1,
tabela1.campo2, tabela2.campo1
FROM tabela1
INNER JOIN tabela2 ON tabela1.campo
1 = tabela2.campo1;

61

Contenu connexe

Tendances

Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQLArley Rodrigues
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Leinylson Fontinele
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15diogoa21
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPointRoney Sousa
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 

Tendances (20)

Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Psi m14
Psi m14Psi m14
Psi m14
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPoint
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 

Similaire à MySQL conceitos e práticas

UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6Wagner Bianchi
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Marco Pinheiro
 
MySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosMySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosClayton de Almeida Souza
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01julianabdpaiva
 
Introdução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptxIntrodução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptxEuclidesDala2
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01Gilson Figueredo
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29Juliana Nascimento
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptxacsme
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverJosé Henrique Sento Sé
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverArt IT
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 

Similaire à MySQL conceitos e práticas (20)

Aula 05 acessando o mysql
Aula 05   acessando o mysqlAula 05   acessando o mysql
Aula 05 acessando o mysql
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
MySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosMySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de Dados
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01
 
Introdução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptxIntrodução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptx
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptx
 
Apostila ib
Apostila ibApostila ib
Apostila ib
 
Db2
Db2Db2
Db2
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 

Plus de Rangel Javier

PyroCMS - Conhecendo o CMS - Sistema Gerenciador de Conteúdo
PyroCMS - Conhecendo o CMS - Sistema Gerenciador de ConteúdoPyroCMS - Conhecendo o CMS - Sistema Gerenciador de Conteúdo
PyroCMS - Conhecendo o CMS - Sistema Gerenciador de ConteúdoRangel Javier
 
Tecnologias Web - Tabelas
Tecnologias Web - TabelasTecnologias Web - Tabelas
Tecnologias Web - TabelasRangel Javier
 
Tecnologias Web com foco na criação de Landing Pages
Tecnologias Web com foco na criação de Landing PagesTecnologias Web com foco na criação de Landing Pages
Tecnologias Web com foco na criação de Landing PagesRangel Javier
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 
Apresentação jasmine
Apresentação jasmineApresentação jasmine
Apresentação jasmineRangel Javier
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fdsRangel Javier
 
Apresentação formação web - up marketing digital - módulo ii
Apresentação   formação web - up marketing digital - módulo iiApresentação   formação web - up marketing digital - módulo ii
Apresentação formação web - up marketing digital - módulo iiRangel Javier
 

Plus de Rangel Javier (8)

PyroCMS - Conhecendo o CMS - Sistema Gerenciador de Conteúdo
PyroCMS - Conhecendo o CMS - Sistema Gerenciador de ConteúdoPyroCMS - Conhecendo o CMS - Sistema Gerenciador de Conteúdo
PyroCMS - Conhecendo o CMS - Sistema Gerenciador de Conteúdo
 
Tecnologias Web - Tabelas
Tecnologias Web - TabelasTecnologias Web - Tabelas
Tecnologias Web - Tabelas
 
Tecnologias Web com foco na criação de Landing Pages
Tecnologias Web com foco na criação de Landing PagesTecnologias Web com foco na criação de Landing Pages
Tecnologias Web com foco na criação de Landing Pages
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Apresentação jasmine
Apresentação jasmineApresentação jasmine
Apresentação jasmine
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fds
 
Apresentação formação web - up marketing digital - módulo ii
Apresentação   formação web - up marketing digital - módulo iiApresentação   formação web - up marketing digital - módulo ii
Apresentação formação web - up marketing digital - módulo ii
 

MySQL conceitos e práticas

  • 1. MySQL CONCEITOS E PRÁTICAS DO SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS facebook.com/rangeljavier twitter.com/rangeljavier profe.rangelxavier@yahoo.com
  • 2. O QUE JÁ SABEMOS...  O que é um Banco de Dados.  Projeto de Banco de Dados  Modelo de Dados Relacional  Diagrama Entidade Relacionamento  SGBDs  Normalização  Etc. 2
  • 3. SQL  Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL;  Trata-se de uma linguagem específica para a manipulação de tabelas de dados;  A linguagem padrão universal para manipular bancos de dados relacionais através dos SGBDs. 3
  • 4. GRUPOS DE COMANDOS SQL  Os comandos do SQL são classificados em três grupos, de acordo com suas principais funções:  DML – Data Manipulation Language  DDL – Data Definition Language  DCL – Data Control Language 4
  • 5. DML  (Linguagem de Manipulação de Dados);  É o subconjunto mais utilizado da linguagem SQL, pois é através da DML que operamos sobre os dados dos bancos de dados com instruções de inserção, atualização, exclusão e consulta de informações. Comandos como INSERIR, DELETAR, ATUALIZAR, SELECIONAR E ETC. 5
  • 6. DDL  (Linguagem de Definição de Dados) é o subconjunto da SQL utilizado para gerenciar a estrutura do banco de dados. Com a DDL podemos criar, alterar e remover objetos (tabelas) no banco de dados. 6
  • 7. DCL  (Linguagem de Controle de Dados) é o subconjunto da SQL utilizado para controlar o acesso aos dados, basicamente com dois comandos que permite ou bloqueia o acesso de usuários a dados; 7
  • 8. SQL X MYSQL  Só para constarmos o MySQL não é uma extensão do SQL.  O MySQL é um Sistema de Gerenciamento de Banco de Dados  O SQL é a linguagem para manipulação dos dados no SGBD. 8
  • 9. SQL X MYSQL  Para utilizar as características e o funcionamento do SQL é preciso se servir de um Sistema de Gerenciamento de Bancos de Dados (SGBD), isto é, de um ambiente no qual possamos utilizar os comandos desta linguagem para manipular dados. 9
  • 10. SQL – REGRAS  Todas as palavras-chave das instruções SQL serão escritas em maiúsculo;  Sempre no final de cada instrução, deve ser terminado com um ponto-evirgula (;) 10
  • 11. INSTALAR MYSQL  Existem alternativas para conseguir o MySQL em seu computador.  Baixar o MySQL no seu site e instala-lo;  (ou) Instalar pacotes que venham com o MySQL incluso, caso do XAMPP e WAMP;  MySQL Workbench; 11
  • 12. PRIMEIRO ENCONTRO  Abrir o Prompt Comando do Windows.  Atalho: Win + R  Executar: cmd  Go! Go! Go! 12
  • 13. PRIMEIRO ENCONTRO  Acessar o diretório c:/xampp/mysql/bin pelo prompt  Usar o comando: cd xampp/mysql/bin 13
  • 14. CONEXÃO COM MYSQL  Precisamos utilizar um comando para acessar o prompt do MySQL.  Ao instalarmos o MySQL é obrigatório criar um usuário e senha para o acesso dos Banco de Dados. Por padrão, o usuário é root e a senha é vazia.  Estas informações (usuário e senha) são necessários para este passo. 14
  • 15. CONEXÃO COM MYSQL  O comando para acessarmos o MySQL é: mysql –u usuario –p senha  Em nosso caso ficando: mysql –u root –p 15
  • 17. SQL AGORA NÓS VAMOS PRATICAR...
  • 18. CRIAR UM BANCO DE DADOS  Para criar de um banco de dados o comando é simples. mysql> CREATE DATABASE meu-banco; CREATE DATABASE seguido do nome desejado de banco de dados. 18
  • 19. MOSTRAR BANCO DE DADOS  Podemos verificar rapidamente a existência do BD recém-criado, bem como a de todos os outros criados anteriormente, utilizando a instrução SHOW DATABASES (mostrar bancos de dados); mysql> SHOW DATABASES; 19
  • 20. CRIAR BANCO DE DADOS  SE NÃO EXISTIR...  Para verificar se exibe um determinado banco de dados antes da criação de um novo. O comando utilizado é: mysql> CREATE DATABASE IF NOT EXISTS meu-banco; 20
  • 21. DELETAR UM BANCO DE DADOS  Para excluir um banco de dados, usa-se o comando DROP DATABASE, seguido do nome do banco de dados que deseja deletar. mysql> DROP DATABASE meu-banco; 21
  • 22. CUIDADO AO DELETAR  É preciso ressaltar que, ao apagar um banco de dados, todas as suas tabelas e os dados nelas contidos também serão apagados e, portanto, perdidos de maneira irreversível.  ENTÃO, CUIDADO!  22
  • 23. Alguém pode me dizer?  Partindo do conceito que vimos que o SQL é divido em três grupos. Estes comandos que utilizamos se enquadram em qual deles? a) DML b) DDL c) DCL 23
  • 24. Alguém pode me dizer?  Partindo do conceito que vimos que o SQL é divido em três grupos. Estes comandos que utilizamos se enquadram em qual deles? a) DML b) DDL c) DCL 24
  • 25. USAR UM BANCO DE DADOS  Como vimos, podemos criar vários bancos de dados, porém, podemos manipular apenas um por vez. Assim, antes de começar, é preciso selecionar qual será o banco de dados que queremos alterar.  Isso é feito utilizando o comando USE (“usar” em inglês), seguido pelo nome do banco de dados em questão. 25
  • 26. USAR UM BANCO DE DADOS mysql> USE meu-banco; 26
  • 27. CRIAR UMA TABELA  A regra base do comando para criar uma tabela no banco de dados é o comando para criar tabela, seguido do nome da tabela.  Também é necessário informar os campos da tabela, seu tipo e seu tamanho. 27
  • 28. CRIAR UMA TABELA mysql> CREATE TABLE cadastro ( nome CHAR (15), sobrenome CHAR (20) ); 28
  • 29. CRIAR UMA TABELA mysql> CREATE TABLE cadastro ( nome CHAR (15), sobrenome CHAR (20) ); CAMPO DA TABELA TIPOS DE DADOS NOME DA TABELA TAMANHO DO CAMPO 29
  • 30. TIPOS DE CAMPOS  Existem vários tipos possíveis de dados no SQL, embora os mais comuns sejam:  INT ou INTEGER: Para inteiros de tamanho normais  TIMESTAMP: Para data e hora e pode ser atribuídos automaticamente;  CHAR e VARCHAR: Para caracteres até no max 255 de tamanho;  TEXT ou LONGTEXT: Para textos longos; 30
  • 31. MOSTRAR TABELA  Para exibir a lista de tabelas do banco de dados que está usando atualmente, basta utilizar o comando: mysql> SHOW TABLES; 31
  • 32. MOSTRAR ESTRUTURA DA TABELA  Podemos também analisar a estrutura de uma tabela de maneira aprofundada usando o comando DESCRIBE (“descrever”, em inglês), seguido pelo nome da tabela. mysql> DESCRIBE minha-tabela; 32
  • 33. INSERIR VALORES NA TABELA  O comando de INSERIR é um dos mais utilizados. Para inserir valores em uma determinada tabela, basta seguir a regra: mysql> INSERT nome_da_tabela VALUES (‘valor1’, ‘valor2’, ...); 33
  • 34. INSERIR VALORES NA TABELA mysql> INSERT tabela (campo1, campo2, campo3, ...) VALUES (“valor1”, “valor2”, “valor3”); 34
  • 35. SELECIONAR VALORES DA TABELA  É possível selecionar valores da tabela, utilizando o comando SELECT do SQL. O comando SELECT é, basicamente, a ferramenta principal para consultar informações de um banco de dados, por isso, é comumente chamado de query. mysql> SELECT dados_desejados FROM nome_tabela; 35
  • 36. SELECIONAR VALORES DA TABELA  Podemos definir alguns critérios na seleção de dados. Há duas possíveis alternativas para estes critérios, a utilização de um asterisco (*) e da interrogação (?); 36
  • 37. ASTERISCO (*)  Significa tudo, ou seja, todos os dados. Pode ser combinado com um ou mais caracteres para especificar conjuntos de dados com algo em comum, por exemplo, em geral, se digitarmos o critério A* significa que queremos ver todos os registros cujo conteúdo começa com a letra A; 37
  • 38. INTERROGAÇÃO (?)  Representa um caractere desconhecido. Por exemplo, se definirmos como critério o valor ?????, quer dizer que queremos ver somente os registros que, em determinado campo, contenham valores de cinco caracteres. 38
  • 39. ALTERAR TABELA  Para alterar uma tabela, basta utilizar ALTER TABLE, o nome da tabela o qual quer alterar e qual operação de alteração quer fazer.  Operações: Adicionar novo campo, renomear nome da tabela e etc. As operações estão em cores destacadas. 39
  • 40. RENOMEAR, ADICIONAR E MODIFICAR mysql> ALTER TABLE pessoas RENAME TO cadastros; mysql> ALTER TABLE pessoas ADD idade INT(3); mysql> ALTER TABLE pessoas MODIFY idade INT(5); 40
  • 41. DELETAR E ORDENAR mysql> ALTER TABLE pessoas DROP cadastros; mysql> ALTER TABLE pessoas ADD idade INT(3) AFTER campo; mysql> ALTER TABLE pessoas ADD idade INT(3) FIRST; 41
  • 42. “EXERCÍÇO”  Crie um banco de dados chamado cinema.  Cria a tabela filmes:  Insira 5 registro;  Mostre apenas os campos titulo, duração e ano dos filmes cadastrados; 42
  • 43. cmd cd / cd xampp/mysql/bin (xampp) cd wamp/bin/mysql/mysql5.5.8/bin (wamp) mysql –u root -p 43
  • 44.  CRIAR BANCO DE DADOS cadastro;  CRIAR TABELA pessoas: id, nome, idade;  CRIAR TABELA times: id, time;  TODO ID É PRIMARY KEY NOT NULL AUTO_INCREMENT 44
  • 45. OPÇÕES DOS CAMPOS  Alguns campos podem ter particularidades. Por exemplo, ser chave primária, não pode ser vazia e etc. Veremos algumas opções. 45
  • 46. NOT NULL  O campo com a opção NOT NULL, significa que o campo não poderá ser nulo. Para utilizar isso, basta na criação do campo adicionar NOT NULL na frente dele. mysql> CREATE TABLE pessoas (nome VARCHAR(255) NOT NULL); 46
  • 47. PRIMARY KEY  Para definirmos que um campo é chave primária, utilizamos a opção PRIMARY KEY, após o nome do campo. mysql> CREATE TABLE pessoas (id INT(5) PRIMARY KEY); 47
  • 48. AUTO INCREMENT  Auto incremento, significa que a cada registro de uma tabela, o valor será incrementado (aumentado). Geralmente, utilizamos para campos ID, CODIGO ou CHAVES PRIMARIAS; 48
  • 49. AUTO INCREMENT mysql> CREATE TABLE animals (id INT(5) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL); 49
  • 50. CLAUSULA WHERE  Usando a cláusula WHERE, podemos especificar um critério de seleção para selecionar os registros necessários de uma tabela. 50
  • 51. CLAUSULA WHERE  O WHERE funciona como uma condição em qualquer linguagem de programação. Esta cláusula é usada para comparar determinado valor com o valor do campo disponível na tabela MySQL. Exemplo: SELECIONE campo_x DA tabela_y ONDE campo_x seja igual ao valor 51
  • 52. CLAUSULA WHERE mysql> SELECT * FROM pessoas WHERE id=1; 52
  • 54. LIMITAR  Pode-se limitar a quantidades de registros. Se não queremos uma lista extensa e só precisamos das 5 primeiras, coloca-se o LIMIT de 5. mysql> SELECT * FROM pessoas LIMIT 5; 54
  • 55. ORDENAR  Quando for necessário ordenar a limita a lista de registros em ordem crescente (ASC) ou decrescente (DESC).  Para utilizar a ordenação, precisa escolher por qual campo será feita a ordenação. 55
  • 56. ORDERNAR ORDEM DECRESCENTE mysql> SELECT * FROM pessoas ORDER BY idade DESC. ORDEM CRESCENTE mysql> SELECT * FROM pessoas ORDER BY idade ASC. 56
  • 57. LIKE  O LIKE é usado para fazer buscas por partes de conteúdos. Por exemplos, precisamos capturar todas as pessoas com que tem Ana no nome, utilizamos do seguinte código: 57
  • 58. LIKE mysql> SELECT * FROM pessoas WHERE nome LIKE '%ana%’ LIMIT 2;  O LIKE é utilizado da seguinte forma: LIKE %conteudo% 58
  • 59. UNIR TABELA  Pode-se unir duas tabelas ou mais, juntas. Para isso utiliza-se o INNER JOIN. mysql> SELECT * FROM pessoas INNER JOIN times; 59
  • 60. UNIR TABELAS mysql> SELECT pessoas.nome, times.time FROM pessoas INNER JOIN times ON pessoas.time_id = times.id LIMIT 5; 60
  • 61. UNIR TABELAS mysql> SELECT tabela1.campo1, tabela1.campo2, tabela2.campo1 FROM tabela1 INNER JOIN tabela2 ON tabela1.campo 1 = tabela2.campo1; 61