Insercción de datos y selección de datos

10

Transcript of Insercción de datos y selección de datos

Page 1: Insercción de datos y selección de datos
Page 2: Insercción de datos y selección de datos
Page 3: Insercción de datos y selección de datos

Para almacenar datos en unabase de datos debemos insertarfilas en las tablas. Para ellos SQLpone a nuestra disposición la

sentencia INSERT.

Page 4: Insercción de datos y selección de datos

Inserción de filasEl proceso de inserción de filas consiste en añadir a unatabla una o más filas y en cada fila todos o parte de suscampos.

Podemos distinguir dos formas de insertar filas:

Inserción individual de filas.

Inserción multiple de filas.

La sintaxis de la sentencia INSERT es diferente según cualsea nuestro proposito.

Sólo podremos omitir un campo al efectuar una insercióncuando este acwepte valores nulos.

Page 5: Insercción de datos y selección de datos

Inserción individual de filas

Para realizar la insercción individual de filas

SQL posee la instrucción INSERT INTO. La insercciónindividual de filas es la que más comúnmenteutilizaremos. Su sintaxis es la siguiente:

INSERT INTO <nombre tabla>[(<campo1>[,<campo2>,...])]

values

(<valor1>,<valor2>,...);

Page 6: Insercción de datos y selección de datos

Inserción múltiple de filas

La sentencia INSERT permite tambien insertar varios registros en una tabla. Pareello se utiliza una combinación de la sentencia INSERT junto a una sentenciaSELECT. El resultado es que se insertan todos los registros devueltos por laconsulta.

Para poder utilizar la inserción multiple de filas se deben cumplir las siguientesnormas:

La lista de campos de las sentencias insert y select deben coincidir en número ytipo de datos.

Ninguna de las filas devueltas por la consulta debe infringir las reglas de integridadde la tabla en la que vayamos a realizar la inserción

INSERT INTO <nombre_tabla> [(<campo1>[,<campo2>,...])]SELECT [(<campo1>[,<campo2>,...])]FROM

<nombre_tabla_origen>;

Page 7: Insercción de datos y selección de datos

La sintaxis de SELECT es compleja, pero en estecapítulo no explicaremos todas sus opciones.Una forma más general consiste en la siguientesintaxis:

SELECT [ALL | DISTINCT | DISTINCTROW] expresión_select,... FROM referencias_de_tablas WHERE condiciones [GROUP BY {nombre_col | expresión | posición} [ASC | DESC], ... [WITH ROLLUP]] [HAVING condiciones] [ORDER BY {nombre_col | expresión | posición} [ASC | DESC] ,...] [LIMIT {[desplazamiento,] contador | contador OFFSET desplazamiento}]

Page 8: Insercción de datos y selección de datos

Forma incondicional

La forma más sencilla es la que hemos usado hastaahora, consiste en pedir todas las columnas y noespecificar condiciones.

mysql>mysql> SELECT * FROM gente;

4 rows in set (0.00 sec) mysql>

NOMBRE FECHA

Fulano 1985-04-12

Mengano 1978-06-15

Tulano 2001-12-02

Pegano 1993-02-10

Page 9: Insercción de datos y selección de datos

Limitar las columnas: proyección

Mediante la sentencia SELECT es posible hacer unaproyección de una tabla, seleccionando las columnasde las que queremos obtener datos. En la sintaxisque hemos mostrado, la selección de columnascorresponde con la parte "expresion_select". En elejemplo anterior hemos usado '*', que quiere decirque se muestran todas las columnas.

Pero podemos usar una lista de columnas, y de esemodo sólo se mostrarán esas columnas:

mysql> SELECT nombre FROM gente;

Page 10: Insercción de datos y selección de datos

4 rows inset (0.0 1 row in set (0.00 sec) mysql>0 sec) mysql> SELECT clave,poblacion FROM ciudad5; Empty set (0.00sec) mysql>

NOMBRE

Fulano

Mengano

Tulano

Pegano

Las expresiones_select no se limitan a nombres de columnas de tablas, pueden ser otras expresiones, incluso aunque no correspondan a ninguna tabla: mysql> SELECT SIN(3.1416/2), 3+5, 7*4;

SIN(3.1416/2) 3+5 7*4

0.9999999999932

5

8 28