Como recuperar dados a partir de linhas específicas em bancos de dados MySQL

Frequentemente, você não quer para recuperar todas as informações de uma tabela MySQL. Você quer informações somente de linhas selecionadas. Três palavras SQL são frequentemente usados ​​para especificar a fonte da informação:

  • ONDE: Permite solicitar informações a partir de objetos de banco de dados com determinadas características. Por exemplo, você pode solicitar os nomes dos clientes que vivem na Califórnia, ou você pode listar apenas os produtos que são uma determinada categoria de roupas.

  • LIMITE: Permite-lhe limitar o número de linhas a partir do qual as informações são recuperadas. Por exemplo, você pode solicitar a informação de apenas as três primeiras linhas da tabela.

  • DISTINCT: Permite solicitar informações de apenas uma linha de linhas idênticas. Por exemplo, numa Entrar tabela, você pode solicitar Nome de acesso mas não especificar nomes duplicados, limitando assim a resposta a um registro para cada membro. Este seria responder à pergunta, # 147 Tem o cliente sempre conectado? # 148- vez de a questão # 147 Quantas vezes o cliente logado # 148?;

Use uma cláusula WHERE

o ONDE cláusula do SELECIONAR consulta permite que você faça seleções complicadas. Por exemplo, suponha que seu chefe quer saber todos os clientes cujos sobrenomes começam com B, que vivem em Indianapolis, e que têm um 8 em qualquer seu telefone ou número de fax. Você pode obter essa lista para seu chefe em um SELECIONAR consultar com um ONDE cláusula.

O formato básico do ONDE cláusula é

ONDE expressão e | OR expressão e | OR expressão ...

expressão especifica um valor a comparar com os valores armazenados na base de dados. Somente as linhas que contêm uma correspondência para a expressão são selecionados. Você pode usar como muitas expressões conforme necessário, cada um, separados por E ou OU.

Quando você usa E, ambas as expressões ligados pela E (Isto é, tanto a expressão antes do E e a expressão após a E) Devem ser verdadeiras para que a linha a ser selecionada. Quando você usa OU, e apenas um dos expressões ligados pela OU deve ser verdade para a linha a ser selecionada.

Expressões para a cláusula WHERE
ExpressãoExemploResultado
column = valorzip = # 147-12345 # 148-Seleciona apenas as linhas onde 12345 é armazenado no namedzip coluna
column> valorzip> # 147-50000 # 148-Seleciona apenas as linhas onde o CEP é 50001 orhigher
column> = valorzip> = # 147-50000 # 148-Seleciona apenas as linhas onde o CEP é 50000 orhigher
coluna lt; valorfecho eclair lt; # 147-50000 # 148-Seleciona apenas as linhas onde o CEP é 49999 ou menor
coluna lt; = valorfecho eclair lt; = # 147-50000 # 148-Seleciona apenas as linhas onde o CEP é 50000 ou menor
coluna ENTRE valor1 AND valor2zip ENTRE # 147-20000 # 148- E # 147-30000 # 148-Seleciona apenas as linhas onde o CEP é maior do que 19999but menos 30001
coluna IN (valor1, valor2, # 133-)zip IN (# 147-90001 # 148 -, # 148-30044 # 148-)Seleciona apenas as linhas onde o CEP é 90001 ou 30044
coluna NOT IN (valor1, valor2, # 133-)zip não IN (# 147-90001 # 148 -, # 148-30044 # 148-)Seleciona apenas as linhas onde o CEP é qualquer CEP except90001 ou 30044
valor LIKE coluna
Nota: O valor pode conter o wildcards% (o que corresponde a qualquer cadeia) e _ (o que corresponde a qualquer caractere).
zip COMO # 147-9% # 148-Seleciona todas as linhas onde o CEP começa com 9
coluna NÃO GOSTO valor
Nota: O valor pode conter o wildcards% (o que corresponde a qualquer cadeia) e _ (o que corresponde a qualquer caractere).
zip não GOSTO # 147-9% # 148-Seleciona todas as linhas onde o CEP não começam with9

Você pode combinar qualquer uma das expressões com Eareia OUs. Em alguns casos, você precisa usar parênteses para esclarecer os critérios de selecção. Por exemplo, você pode usar a seguinte consulta para responder a necessidade urgente de seu chefe para encontrar todos os clientes cujos nomes começam com B, que vivem em Indianapolis, e que têm um 8 em qualquer seu telefone ou fax número:

SELECIONE sobrenome, nome DE CustomerWHERE lastName COMO "B%" e cidade = "Indianapolis" E (telefone como "% 8%" ou fax LIKE "% 8%")

Observe os parênteses na última linha. Você não vai obter os resultados que você pediu, sem os parênteses.

Sem os parênteses, cada conector que ser processada de modo a partir do primeiro para o último, resultando em uma lista que inclui todos os clientes cujos nomes começam com B e que vivem em Indianapolis e cujos números de telefone têm um 8 neles e todos os clientes cujos números de fax têm um 8 neles, quer sejam ou não viver em Indianapolis e se ou não o seu nome começa com um B.

Quando a última OU é processado, os clientes são selecionados cujas características correspondem a uma expressão antes do OU ou a expressão após a OU. A expressão antes do OU está ligado a expressões anteriores pela anterior Es, e por isso não ficar sozinho, mas a expressão após a OU não ficar sozinho, resultando na selecção de todos os clientes com um 8 no seu número de fax.

Utilizar a palavra-chave LIMIT

LIMITE especifica quantas linhas podem ser devolvidos. O formulário para LIMITE é

startnumber LIMIT, NumberOfRows

A primeira linha que você deseja recuperar é startnumber, e o número de linhas para recuperar é numero de linhas. E se startnumber não é especificado, é assumido um. Para selecionar apenas os três primeiros clientes que vivem no Texas, use esta consulta:

SELECT * FROM customer onde o estado = "TX" LIMIT 3

Utilizar a palavra-chave DISTINCT

As linhas da tabela pode ter valores idênticos em uma ou mais colunas. No entanto, em alguns casos, quando SELECIONAR uma coluna, você não deseja recuperar várias linhas com valores idênticos. Você deseja recuperar o valor apenas uma vez. Por exemplo, suponha que você tenha uma tabela de produtos com um campo chamado Categoria.

Os dados contêm, sem dúvida, muitos produtos em cada categoria. Agora, suponha que você deseja exibir uma lista de todas as categorias disponíveis no banco de dados. Você quer que esta lista para conter cada categoria mencionada apenas uma vez. a palavra-chave DISTINCT está prevista para o efeito.

Para evitar uma SELECIONAR consulta de retornar todos os registros idênticos, adicione a palavra-chave DISTINCT imediatamente depois SELECIONAR, do seguinte modo:

SELECIONE categoria distinta em relação ao produto

menu