MySQL onde cláusula
Sabemos que para ler os dados utilizando a instrução SQL SELECT de uma tabela MySQL.
Para selecionar condicionalmente dados de uma tabela, você pode adicionar uma cláusula WHERE para a instrução SELECT.
gramática
O seguinte é uma instrução SQL SELECT com uma cláusula WHERE para ler dados a partir da sintaxe geral tabela de dados:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Você pode consultar usando uma ou mais tabelas, use uma vírgula entre as mesas (,) segmentação, e usar uma cláusula WHERE para definir os critérios de pesquisa.
- Você pode especificar qualquer condição na cláusula WHERE.
- Você pode usar AND ou OR para especificar uma ou mais condições.
- Cláusula WHERE também pode ser aplicado ao SQL APAGAR ou comando Update.
- Cláusula WHERE é semelhante às linguagens de programação, se as condições, com base em valores de campo tabela MySQL para ler dados específicos.
O seguinte é uma lista dos operadores que podem ser utilizados na cláusula WHERE.
A é assumida na tabela a seguir como Exemplos 20-10 B
operadores | descrição | Exemplos |
---|---|---|
= | Equivaler a detectar se dois valores são iguais, ele retorna true se eles forem iguais | (A = B) retorna false. |
<> ,! = | não é igual para detectar se dois valores são iguais, se os retornos não iguais verdadeira | (A! = B) retorna true. |
> | Sinal de maior, o valor de detecção esquerda é maior do que o valor da direita para a esquerda, se o valor for superior ao valor do direito de retorno verdadeiro | (A> B) retorna false. |
< | Não menos do que o valor detectado do lado esquerdo é menos do que o valor da direita para a esquerda, se o valor for inferior ao valor verdadeiro do direito de retorno | (A <B) retorna true. |
> = | Maior do que ou igual número para detectar a esquerda é maior do que ou igual ao valor do lado direito, se o valor for maior que ou igual à esquerda do direito de retorno verdadeiro | (A> = B) retorna false. |
<= | Inferiores ou iguais números, verificar se o valor é menor do que a esquerda ou para a direita de igual valor, se o valor for menor ou igual à esquerda do direito de retorno verdade | (A <= B) retorna true. |
Se queremos tabela de dados MySQL lê os dados especificados, cláusula WHERE é muito útil.
Como condição de usar a chave primária para a cláusula WHERE da consulta é muito rápido.
Se as condições não são dadas quaisquer registos correspondentes na tabela, a consulta não retorna nenhum dado.
Lê os dados do prompt de comando
Nós vamos usar a cláusula WHERE na instrução SQL SELECT para ler dados em tabelas de dados MySQL w3big_tbl:
Exemplos
O exemplo a seguir irá ler todos os registros da tabela w3big_tbl w3big_author valores de campo Sanjay de:
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl WHERE w3big_author='Sanjay'; +-------------+----------------+-----------------+-----------------+ | w3big_id | w3big_title | w3big_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 1 rows in set (0.01 sec) mysql>
MySQL comparação de string da cláusula WHERE não é sensível a maiúsculas. Você pode usar a palavra-chave BINARY para definir a cláusula WHERE comparações de cadeias são case-sensitive.
Os exemplos que se seguem
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl \ WHERE BINARY w3big_author='sanjay'; Empty set (0.02 sec) mysql>
Use script PHP para ler dados
Você pode usar o mysql_query função PHP () eo mesmo comando SQL SELECT para trazer a cláusula WHERE para recuperar os dados.
Esta função é usada para executar comandos SQL, então () para dados de saída para todas as consultas através da função PHP mysql_fetch_array.
Exemplos
Os exemplos seguintes w3big_tbl tabela retorna w3big_author valor do campo registros Sanjay:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl WHERE w3big_author="Sanjay"'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "Tutorial ID :{$row['w3big_id']} <br> ". "Title: {$row['w3big_title']} <br> ". "Author: {$row['w3big_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>