Sdsdd
Si no quieres poner los campos de la tabla tienes que hacer el DESC
4ª forma:
5ª forma:
O ponemos el nombre de los campos o no.
Hay que tener cuidado en si ponemos o no ponemos los campos.
La sentencia INSERT INTO se utiliza para insertar nuevas filas en una tabla.
Es posible insertar una nueva fila en una tabla de dos formas distintas:
INSERT INTO nombre_tabla
VALUES (valor1, valor2, valor3, .)
INSERT INTO nombre_tabla (columna1, columna2, columna3,.)
VALUES (valor1, valor2, valor3, .)
Ejemplo:
Dada la siguiente tabla personas:
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
Si queremos insertar una nueva fila en la tabla personas, lo podemos hacer con cualquiera de las dos sentencias
siguientes:
INSERT INTO personas
VALUES ('PEDRO', 'RUIZ', 'GONZALEZ')
INSERT INTO personas (nombre, apellido1, apellido2)
VALUES ('PEDRO', 'RUIZ', 'GONZALEZ')
Cualquiera de estas sentencias anteriores produce que se inserte una nueva fila en la tabla personas, quedando
así dicha tabla:
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
PEDRO RUIZ GONZALEZ
6ª forma:
Es la
sentencia que más se usa para hacer migraciones.
Insert desde otra BBDD:
Ejercicio 5:
Se quiere diseñar una base de datos relacional que almacene información relativa a los zoos
existentes en el mundo, así como las especies animales que éstos albergan.
• En aquellas ciudades en las que existan algún zoo, solamente va a existir uno.
• De cada zoo se conoce el nombre, ciudad y país donde se encuentra, tamaño (en m2) y
presupuesto anual.
• De cada especie animal se almacena el nombre vulgar y nombre científico, familia a la que
pertenece y si se encuentra en peligro de extinción.
• Además, se debe guardar información sobre cada animal que los zoos poseen, como su
número de identificación, especie, sexo, año de nacimiento, país de origen y continente.
Para saber el número de registros insertados
Todos los registros insertados:
Actualizar datos:
PARA CREAR E INSERTAR:
1. Primero las que no dependen de nadie
2. después las 1:n
3. Luego las N:M
En resumen:
Sentencia Select:
Usar la join:
Hay que buscar siempre el camino de unión para llegar de una tabla a la otra:
select + nombre de los campos
from+ nombre de las tablas
Consulta:
select nom_zoo, continente
from
zoos, ciudades, paises, continentes
where
zoos.id_ciudad=ciudades.id_ciudad
and
paises.id_continente=continentes.id_continente
and
continente=’África’;
Consultas con alias:
Siempre se declara el alias en el from, y cuando se ha hecho se aconseja poner siempre nombre del
[Link] en todos los campos en parte where y parte select.
Con operadores matemáticos:
..distinto de:
Puede ser también !=
Operador OR:
Se muestran los dos si ambos son TRUE, si uno de los dos es TRUE se muestra ese.
Operadores lógicos:
Operador Not:
Operador like (compara cadenas de caracteres):
Mostrará todos los que empiecen por ‘F’
...los que acaben en F
...los que tengan una F
...dos caracteres y el primero F
....dos caracteres y el último F
..primer carácter cualquiera, segundo F y los siguientes cualquiera
Ejemplo de consulta:
select ciudad
from
ciudades
where
ciudad like '_d%'
And
ciudad like 'A%n';
Between:
“in” especifica donde se quiere hacer el select:
...equivale a:
..pueden ser cadenas:
..not in:
… donde no sean valores nulos:
…donde el valor o valores sean nulos:
Distinct:
...para sacar el campo especie:
Count:
Cuantos registros hay que cumplan una determinada condición.
Order by:
Sin poner nada es ascendente por defecto. Puede ser asc o desc.
Diferentes combinaciones:
Update (cambiar valores):
Delete:
Todos los registros
Práctica tabla zoologico:
1. Obtener todos los registros de todas las familias
2. Obtener todos los datos de todas las especies de las familias cuyo
id_familia estén entre el 15 y el 24.
3. Obtener el nombre de las especies y el nombre de las familias a las
que pertenece
4. obtener todos los países que pertenecen a Oceanía.
5. Contar el número de especies que hay dadas de alta para la familia
Tálpidos.
6. Obtener todos los datos de todos los animales, incluida la descripción
de la especie y la descripción de la familia de todos aquellos anima-
les que pertenezcan a las siguientes familias Salmoniformes, Piéridos,
Lumbrícidos.
7. Contar todos los animales que hay en la ciudad de Madrid.
8. Mostrar las especies y a qué familia pertenece que no hay en ningún
zoo.
9. Mostrar todos los datos de los animales, la especie, y la familia a la
que pertenece, cuyo país de procedencia sea Brasil.
10. Mostrar todos los datos de los animales, la especie, y la familia
a la que pertenece, cuyo continente de procedencia sea América.
Group by:
Se pueden utilizar en cualquier parte de la sentencia select, no solo en el having.
Al aplicar estas funciones los valores nulos son ignorados, se realizan los cálculos como si esos
valores no existieran.
En la tabla zoologicos, aquellos zoos que contengan más de 5 especies:
from zoos z, animales a
where a.id_zoo=z.id_zoo
group by a.id_zoo
having count(a.id_especie)>5;
Orden de las sentencias select:
Select
From
where
Group by
Having
Order by
Funciones que podemos utilizar dentro de una sentencia select:
STRCMP compara cadenas:
La comparación es ALFABÉTICA, siempre compara orden alfabético.
Funciones:
Es un truncate de números, no de caracteres. Le pasas, le dices un número y te dice el número de
decimales que tiene (es muy parecido al round).
IFNULL:
select nombre, ifnull(presupuesto,0)
from zoos;
Resultado:
Sentencia dentro de otra sentencia:
AVG:
Sintaxis SQL AVG:
SELECT AVG(columna) FROM tabla
Las siguientes declaraciones crean una nueva tabla, insertan algunos valores en la tabla y consultan
datos en ella:
CREATE TABLE t(val dec(10,2));
INSERT INTO t(val) VALUES(1),(2),(3),(4),(4),(5),(5),(6);
SELECT val FROM t;
El siguiente ejemplo usa la función AVG() calcula el promedio de todos los valores en la tabla t:
SELECT AVG(ALL val) FROM t;
Resultado:
avg_all
----------
3.750000
Si quieres seleccionar los clientes con el precio del pedido superior al precio medio de los pedidos.
SELECT * FROM pedidos
WHERE precio > (SELECT AVG(precio) FROM pedidos)
Obtener aquellos zoos cuyo tamaño medio sea 10.000 m2.
Union:
Para que se cumpla una “union” todos los campos se deben llamar igual, mismo número de campos
y mismo nombre de campos.