Seleccionar
todos los datos de una tabla
Después
de insertar datos en la tabla, probablemente queramos revisar si los datos
están guardados correctamente. Para hacer, usamos la sentencia SELECT.
La Sintaxis de Select es
SELECT what_to_select from tbl_name;
Para ver todos los datos de la tabla, usamos el ejemplo siguiente.
La Sintaxis de Select es
SELECT what_to_select from tbl_name;
Para ver todos los datos de la tabla, usamos el ejemplo siguiente.
mysql> select * from student;
+--------+---------+-------+------------------+---------+
| studid | name
| marks | address |
phone |
+--------+---------+-------+------------------+---------+
| 1 |
steve |
100 | 5th cross street | 2456987
|
| 2 |
david | 98 | welling street |
547896 |
+--------+---------+-------+------------------+---------+
El ejemplo de arriba listará los detalles completos de la
tabla student. Aqui * seleccionará todas las columnas de la tabla.
Cómo
seleccionar una columna en particular
Podemos seleccionar una columna en particular para
ver, obtener las filas enteras. Supón que quieres ver el nombre del student
solo; para ello usamos el ejemplo siguiente.
mysql> select name from student;
+---------+
| name |
+---------+
| steve |
| david |
+---------+
Cómo
seleccionar múltiples columnas
Podemos también seleccionar múltiples columnas,
separando con comas como en el ejemplo siguiente.
mysql> select name, marks from student;
+---------+-------+
| name |
marks |
+---------+-------+
| steve
| 100 |
| david
| 98 |
+---------+-------+ En el ejemplo de arriba, hemos seleccionado name y marks de la tabla student.
Cómo
seleccionar las filas en una forma ordenada
En
las muestras precedentes, el ejemplo para las filas seleccionadas son mostradas
en orden no particular. Tambien podemos seleccionar las filas mostrandose en un
formato ordenado usando la cláusula ORDER BY.
El siguiente ejemplo de muestra ordenará las filas en orden ascendente según las marks.
El siguiente ejemplo de muestra ordenará las filas en orden ascendente según las marks.
mysql> select
name, marks from student order by marks;
+---------+-------+
| name | marks |
+---------+-------+
| michael | 75 |
| steve |
75 |
+---------+-------+
También
podemos ordenar las filas en orden descendente. En el ejemplo siguiente de
muestra las marks son ordenadas en orden descendente.
mysql> select
name, marks from student order by marks desc;
+---------+-------+
| name | marks |
+---------+-------+
| steve |
100 |
| anne |
100 |
+---------+-------+ Cómo seleccionar múltiples filas y columnas en una manera ordenada
También
podemos ordenar múltiples columnas en diferentes direcciones como se muestra en
el ejemplo siguiente.
mysql> select
name, marks, address from student order by name,
marks desc;
+---------+-------+------------------+
| name | marks | address |
+---------+-------+------------------+
| anne |
100 | downing street |
| anne |
80 | edinburgh |
+---------+-------+------------------+Cómo usar 'where' en la sentencia select
Podemos seleccionar una fila en particular usando
la cláusula sentencia WHERE. También podemos revisar cualquier condición
usando la cláusula o palabra clave WHERE. Donde la condición viene de la
mano cuando estamos usando una tabla grande con muchos y grandes volúmenes de
datos pero puede que queramos ver solo un número pequeño de filas que
satisfagan una condición.
La sintaxis de select where eis
SELECT what_to_select FROM tbl_name WHERE conditions_to_satisfy;
Aquí conditions_to_satisfy especifica una o más condiciones que las filas deben satisfacer para clasificarse y aparecer.
Veamos un ejemplo de muestra para obtener un dato simple de student usando WHERE.
La sintaxis de select where eis
SELECT what_to_select FROM tbl_name WHERE conditions_to_satisfy;
Aquí conditions_to_satisfy especifica una o más condiciones que las filas deben satisfacer para clasificarse y aparecer.
Veamos un ejemplo de muestra para obtener un dato simple de student usando WHERE.
mysql> select * from student where name =
'jack';
+--------+------+-------+-----------------+---------+
| studid | name | marks | address | phone |
+--------+------+-------+-----------------+---------+
| 4 |
jack | 82 | victoria street | 2436821
|
+--------+------+-------+-----------------+---------+
1 row in set (0.00 sec)
Aquí
en el ejemplo de muestra de arriba hemos obtenido detalles simples para
student. Supon que si queremos recivier los detalles de 'studen' que hayan
aprobados más de 90 notas, podemos usar el ejemplo siguiente.
mysql> select * from student where marks >
90;
+--------+-------+-------+------------------+---------+
| studid | name
| marks | address |
phone |
+--------+-------+-------+------------------+---------+
| 1 |
steve | 100 | 5th cross street |
2456987 |
| 2 |
david | 98 | welling street |
547896 |
| 5 |
anne |
100 | downing street | 2634821 |
| 8 |
mille | 98 | victoria street | 1236547 |
+--------+-------+-------+------------------+---------+
4 rows in set (0.05 sec)
Cómo
usar el operador LIKE o NOT LIKE
Algunas veces podemos necesitar ver la tabla con un
carácter comparable. En MySQL usamos LIKE o NOT LIKE para la
comparación. EIn MySQL los patrones son sensibles a las mayúsculas por defecto.
Let us consider an example query to display the student names starting with the letter M.
Let us consider an example query to display the student names starting with the letter M.
mysql> select * from student where name like
'm%';
+--------+---------+-------+-----------------+---------+
| studid | name
| marks | address |
phone |
+--------+---------+-------+-----------------+---------+
| 3 |
michael | 75 | edinburgh | 2598234 |
| 8 |
mille | 98 | victoria street | 1236547 |
+--------+---------+-------+-----------------+---------+
2 rows in set
(0.01 sec)
En el ejemplo de muestra de
arriba listará todos los nombres que empiecen por M de la tabla student.
El ejemplo de muestra siguiente listará los nombres que acaben por la letra e.
El ejemplo de muestra siguiente listará los nombres que acaben por la letra e.
mysql> select * from student where name like
'%e';
+--------+-------+-------+------------------+---------+
| studid | name
| marks | address |
phone |
+--------+-------+-------+------------------+---------+
| 1 |
steve | 100 | 5th cross street |
2456987 |
| 5 |
anne |
100 | downing street | 2634821 |
| 6 |
steve | 75 | downing street | 2874698 |
| 7 |
anne |
80 | edinburgh | 2569843 |
| 8 |
mille | 98 | victoria street | 1236547 |
+--------+-------+-------+------------------+---------+
5 rows in set (0.00 sec)
También
podemos listar los nombres que contienen una letra específica en cualquier
lugar. El siguiente ejemplo de muestra listará los nombres que contienen la
letra "a".
mysql> select * from student where name like
'%a%';
+--------+---------+-------+-----------------+---------+
| studid | name
| marks | address |
phone |
+--------+---------+-------+-----------------+---------+
| 2 |
david | 98 | welling street |
547896 |
| 3 |
michael | 75 | edinburgh | 2598234 |
| 4 |
jack | 82 | victoria street | 2436821 |
| 5 |
anne | 100 | downing street | 2634821 |
| 7 |
anne | 80 | edinburgh | 2569843 |
+--------+---------+-------+-----------------+---------+
5 rows in set (0.00 sec)
Supón
que si queremos encontrar nombres que contienen exactamente cinco caracteres,
usaremos una carater especial "_" (guión bajo). El siguiente ejemplo
de muestra listará todos los nombres de cinco letras de la tabla student.
mysql> select * from student where name like
'_____';
+--------+-------+-------+------------------+---------+
| studid | name
| marks | address |
phone |
+--------+-------+-------+------------------+---------+
| 1 |
steve | 100 | 5th cross street |
2456987 |
| 2 | david |
98 | welling street | 547896 |
| 6 |
steve | 75 | downing street | 2874698 |
| 8 |
mille | 98 | victoria street | 1236547 |
+--------+-------+-------+------------------+---------+
4 rows in set
(0.00 sec)
Cómo seleccionar las columnas usando
la cláusula Group by
La cláusula Group by clause es usada para mostrar
las filas y columnas agrupadas por columnas selectivas. Puede usarse para ver
las funciones agregadas, como count().
El siguiente ejemplo de muestra listará el nombre del student y también contará los nombres repetidos usando Group By en la sentencia select.
El siguiente ejemplo de muestra listará el nombre del student y también contará los nombres repetidos usando Group By en la sentencia select.
mysql> select name, count(name) from student
group by name;
+-------+-------------+
| name |
count(name) |
+-------+-------------+
| anne
| 2 |
| david |
1 |
| jack
| 1 |
| mille |
1 |
| steve |
2 |
+-------+-------------+
5 rows in set (0.03 sec)
El
ejemplo siguiente mostrará el nombre y la suma d elas notas del student usando
la cláusula groupby.
mysql> select name,sum(marks),count(*) from
students group by name;
+----------+------------+----------+
| name |
sum(marks) | count(*) |
+----------+------------+----------+
| anne
| 175 | 2 |
| maichael |
82 | 1 |
| mike
| 182 | 2 |
| rock
| 100 | 1 |
| steve
| 175 | 2 |
+----------+------------+----------+
5 rows in set (0.00 sec)