MySQL Instrução SELECT com exemplos
O que é a consulta SELECT em MySQL?
SELECT QUERY é usado para buscar os dados do MySQL banco de dados. Os bancos de dados armazenam dados para recuperação posterior. O objetivo de MySQL Selecionar consiste em retornar das tabelas do banco de dados, uma ou mais linhas que correspondam a um determinado critério. A consulta selecionada pode ser usada em linguagem de script como PHP, Ruby ou você pode executá-la por meio do prompt de comando.
Sintaxe da instrução SQL SELECT
É o comando SQL usado com mais frequência e possui a seguinte sintaxe geral
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
AQUI
- SELECIONE é a palavra-chave SQL que permite ao banco de dados saber que você deseja recuperar dados.
- [DISTINTO | TODOS] são palavras-chave opcionais que podem ser usadas para ajustar os resultados retornados da instrução SQL SELECT. Se nada for especificado, ALL será assumido como padrão.
- {*| [Expressão de campo [AS novoNome]} pelo menos uma parte deve ser especificada, “*” selecionou todos os campos do nome da tabela especificada, fieldExpression executa alguns cálculos nos campos especificados, como adicionar números ou juntar dois campos de string em um.
- A PARTIR DE tableName é obrigatório e deve conter pelo menos uma tabela, várias tabelas devem ser separadas por vírgulas ou unidas usando a palavra-chave JOIN.
- ONDE condição é opcional, pode ser usada para especificar critérios no conjunto de resultados retornado da consulta.
- GROUP BY é usado para reunir registros que possuem os mesmos valores de campo.
- TENDO condição é usada para especificar critérios ao trabalhar usando a palavra-chave GROUP BY.
- ORDENAR POR é usado para especificar a ordem de classificação do conjunto de resultados.
*
O símbolo da estrela é usado para selecionar todas as colunas da tabela. Um exemplo de uma instrução SELECT simples se parece com o mostrado abaixo.
SELECT * FROM `members`;
A instrução acima seleciona todos os campos da tabela de membros. O ponto e vírgula é uma instrução terminada. Não é obrigatório, mas é considerado uma boa prática encerrar suas declarações dessa forma.
Exemplos práticos
Clique para fazer o download o banco de dados myflix usado para exemplos práticos.
Você pode aprender a importar o arquivo .sql para MySQL Bancada de Trabalho
Os exemplos são executados nas duas tabelas a seguir
Quadro 1: membros mesa
número de membro | nomes completos | gênero | data de nascimento | endereço físico | endereço postal | número_de contato | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Feminino | 21-07-1980 | Lote da Primeira Rua nº 4 | Mala Privada | 0759 253 542 | janetjones@yagoo.cm |
2 | Janete Smith Jones | Feminino | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Masculino | 12-07-1989 | Rua 3 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | Feminino | 14-02-1984 | Rua 2 23 | NULL | NULL | NULL |
Quadro 2: filmes mesa
id_do_filme | título | diretor | ano_de lançamento | Categoria ID |
---|---|---|---|---|
1 | Piratas do Caribe 4 | Rob Marshall | 2011 | 1 |
2 | Esquecendo Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Codinome Preto | Edgar Jimz | 2010 | NULL |
5 | As filhinhas do papai | NULL | 2007 | 8 |
6 | Anjos e Demonios | NULL | 2007 | 6 |
7 | Código da Vinci | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% culpado | NULL | 2012 | NULL |
Obtendo listagem de membros
Suponhamos que desejamos obter uma lista de todos os membros registrados da biblioteca em nosso banco de dados, usaríamos o script mostrado abaixo para fazer isso.
SELECT * FROM `members`;
Executando o script acima em MySQL workbench produz os seguintes resultados.
número de membro | nomes completos | gênero | data de nascimento | endereço físico | endereço postal | número_de contato | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Feminino | 21-07-1980 | Lote da Primeira Rua nº 4 | Mala Privada | 0759 253 542 | janetjones@yagoo.cm |
2 | Janete Smith Jones | Feminino | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Masculino | 12-07-1989 | Rua 3 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | Feminino | 14-02-1984 | Rua 2 23 | NULL | NULL | NULL |
Nossa consulta acima retornou todas as linhas e colunas da tabela de membros.
Digamos que estamos interessados apenas em obter apenas os campos nomes completos, gênero, endereço físico e e-mail. O script a seguir nos ajudaria a conseguir isso.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Executando o script acima em MySQL workbench produz os seguintes resultados.
nomes completos | gênero | endereço físico | |
---|---|---|---|
Janet Jones | Feminino | Lote da Primeira Rua nº 4 | janetjones@yagoo.cm |
Janete Smith Jones | Feminino | Melrose 123 | jj@fstreet.com |
Robert Phil | Masculino | Rua 3 34 | rm@tstreet.com |
Gloria Williams | Feminino | Rua 2 23 | NULL |
Obtendo lista de filmes
Lembre-se de que em nossa discussão acima mencionamos expressões usadas em instruções SELECT. Digamos que queremos obter uma lista de filmes do nosso banco de dados. Queremos ter o título do filme e o nome do diretor do filme em um campo. O nome do diretor do filme deve estar entre colchetes. Também queremos saber o ano em que o filme foi lançado. O script a seguir nos ajuda a fazer isso.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
AQUI
- O Concat () MySQL A função é usada para unir os valores das colunas.
- A linha “Concat (`title`, ' (', `director`, ')') obtém o título, adiciona um colchete de abertura seguido do nome do diretor e depois adiciona o colchete de fechamento.
As partes da string são separadas por vírgulas na função Concat().
Executando o script acima em MySQL workbench produz o seguinte conjunto de resultados.
Concat(`título`, ' (', `diretor`, ')') | ano_de lançamento |
---|---|
Piratas do Caribe 4 (Rob Marshall) | 2011 |
Esquecendo Sarah Marshal (Nicholas Stoller) | 2008 |
NULL | 2008 |
Codinome Black (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey Mooners (John Schultz) | 2005 |
NULL | 2012 |
Nomes de campos de alias
O exemplo acima retornou o código de concatenação como nome do campo para nossos resultados. Suponha que queiramos usar um nome de campo mais descritivo em nosso conjunto de resultados. Usaríamos o nome alternativo da coluna para conseguir isso. A seguir está a sintaxe básica para o nome alternativo da coluna
SELECT `column_name|value|expression` [AS] `alias_name`;
AQUI
- “SELECIONE `nome_coluna|valor|expressão`” é a instrução SELECT regular que pode ser um nome de coluna, valor ou expressão.
- "[COMO]" é a palavra-chave opcional antes do nome alternativo que denota a expressão, o valor ou o nome do campo que será retornado como.
- “`nome_alias`” é o nome alternativo que queremos retornar em nosso conjunto de resultados como o nome do campo.
A consulta acima com um nome de coluna mais significativo
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Obtemos o seguinte resultado
Concatenar | ano_de lançamento |
---|---|
Piratas do Caribe 4 (Rob Marshall) | 2011 |
Esquecendo Sarah Marshal (Nicholas Stoller) | 2008 |
NULL | 2008 |
Codinome Black (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey Mooners (John Schultz) | 2005 |
NULL | 2012 |
Obtendo uma lista de membros mostrando o ano de nascimento
Suponha que queiramos obter uma lista de todos os membros mostrando o número de membro, nomes completos e ano de nascimento. Podemos usar a função LEFT string para extrair o ano de nascimento do campo de data de nascimento. O script mostrado abaixo nos ajuda a fazer isso.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
AQUI
- “ESQUERDA(`data_de_nascimento`,4)” da Função de string ESQUERDA aceita a data de nascimento como parâmetro e retorna apenas 4 caracteres da esquerda.
- “AS `ano_de_nascimento`” é o nome alternativo da coluna que será retornado em nossos resultados. Note o A palavra-chave AS é opcional, você pode deixá-lo de fora e a consulta ainda funcionará.
Executando a consulta acima em MySQL workbench em relação ao myflixdb nos dá os resultados mostrados abaixo.
número de membro | nomes completos | ano de nascimento |
---|---|---|
1 | Janet Jones | 1980 |
2 | Janete Smith Jones | 1980 |
3 | Robert Phil | 1989 |
4 | Gloria Williams | 1984 |
SQL usando MySQL Workbench
Agora vamos usar MySQL workbench para gerar o script que exibirá todos os nomes de campos de nossa tabela de categorias.
1. Clique com o botão direito na tabela de categorias. Clique em “Selecionar linhas – Limite de 1000”
2. MySQL O workbench criará automaticamente uma consulta SQL e colará no editor.
3. Os resultados da consulta serão mostrados
Observe que não escrevemos a instrução SELECT. MySQL workbench o gerou para nós.
Por que usar o comando SELECT SQL quando temos MySQL Bancada de trabalho?
Agora, você deve estar pensando por que aprender o comando SQL SELECT para consultar dados do banco de dados quando você pode simplesmente usar uma ferramenta como MySQL workbench para obter os mesmos resultados sem conhecimento da linguagem SQL. Claro que isso é possível, mas aprendendo como usar o comando SELECT te dá mais flexibilidade e ao controle sobre o seu Instruções SQL SELECT.
MySQL bancada de trabalho se enquadra na categoria de “Consulta por Exemplo”Ferramentas QBE. O objetivo é ajudar a gerar instruções SQL mais rapidamente para aumentar a produtividade do usuário.
Aprender o comando SQL SELECT pode permitir que você crie consultas complexas que não pode ser gerado facilmente usando utilitários de consulta por exemplo, como MySQL bancada de trabalho.
Para melhorar a produtividade você pode gerar o código usando MySQL bancada então personalizar a atender aos seus requisitos. Isso só pode acontecer se você entender como funcionam as instruções SQL!
Resumo
- A palavra-chave SQL SELECT é usada para consultar dados do banco de dados e é o comando mais comumente usado.
- A forma mais simples possui a sintaxe “SELECT * FROM tableName;”
- Expressões também podem ser usadas na instrução select. Exemplo “SELECIONE quantidade + preço DE Vendas”
- O comando SQL SELECT também pode ter outros parâmetros opcionais como WHERE, GROUP BY, HAVING, ORDER BY. Eles serão discutidos mais tarde.
- MySQL O workbench pode ajudar a desenvolver instruções SQL, executá-las e produzir o resultado de saída na mesma janela.