Mantenimiento de Mysql 4

Inserción

El propósito de la instrucción INSERT INTO es añadir registros a una tabla. También se le conoce como consulta de datos añadidos.

Consideraciones:

  • Los valores deben cumplir las restricciones.
  • El orden de los valores debe ser el mismo que el de los campos.
  • Cuando se van a insertar datos en todos los campos de una tabla, no es necesario el poner el nombre de los campos, aunque es aconsejable para dar claridad a la consulta.
  • Hay que poner los valores de texto y fecha entre comillas (" o ').

Hay tres tipos de consultas de inserción, que son:

  • Insertar un único registro.
  • Insertar registros de otra tabla.
  • Insertar registros de un fichero de texto.

Si empleamos la siguiente sintaxis, podremos introducir una nueva tupla en una tabla:

INSERT INTO tabla (campo1, campo2,…………campoN)
VALUES (Valor1, valor2, …………valorN)

Ejemplo 1:

Introduce un nuevo empleado llamado Rodriguez y con código 1002, en la tabla empleados.

INSERT INTO empleados (codigo, apellido)
VALUES (1002, 'Rodriguez');

Ejemplo 2:

Introduce en la tabla empleados, un nuevo empleado con código 7890, llamado Herrero, de trabajo programador, depende de 1567, con fecha de ingreso 1 de agosto de 2002, cobra 1000 Euros sin cobrar comisiones y esta en el departamento 30.

INSERT INTO empleados
VALUES (7890, 'Herrero', 'programador', 1002,
'01/08/2002', 1000, 0, 30);

INSERT INTO también permite insertar datos de una tabla origen a la tabla con la que estamos trabajando. Para ello es necesario que los datos de la tabla origen tienen que ser de igual tipo que los de nuestra tabla.

Sintaxis:

INSERT INTO tabla (campo1, campo2, …, campoN)
SELECT …

Ejemplo 3:

Crea primero una tabla departamentos2 con la misma estructura que departamente. Luego ejecuta esta consulta, que introducirá en la tabla departamentos2 los datos de la tabla departamentos.

INSERT INTO departamentos2
SELECT * FROM departamentos;

Ya veremos con más detalle SELECT más adelante. Ahora sólo hay que precisar que la tabla donde vamos a insertar no puede aparecer en el FROM.

La manera más rápida de insertar un buen montón de registros es leerlos desde un fichero de texto con la sentencia LOAD DATA:

LOAD DATA INFILE nombrefichero INTO TABLE nombretabla;

Ejemplo 4:

Baja este fichero y sustituye en la consulta la ruta donde lo almacenes. Debería insertar 5 registros en la tabla categorias.

LOAD DATA INFILE '/directorio/categorias.txt'
INTO TABLE categorias;

Puedes repitir la jugada con este fichero, que debería insertar 9 registros en la tabla productos. En estos ficheros, los campos están separados por un tabulador y los registros por el fin de línea.

Nota: En Windows hay que indicar la ruta con /, no con \.

Modificación

El propósito de la sentencia UPDATE es cambiar los valores de los registros de una tabla. Se modifican los datos de una fila, de un grupo de filas o de una tabla entera. A este tipo de consultas se les llama consultas de actualización.

Sintaxis:

UPDATE tabla
SET campo1 = Valor1, campo2= Valor2……Campon = Valor1
[WHERE criterio]

Consideraciones:

  • Si suprimimos la cláusula WHERE todos los registros de la tabla se actualizarán.
  • Los valores que introduzcamos deben ser de los mismos tipos que el de los campos.
  • Solo se pueden actualizar los datos tabla por tabla.
  • Si se omite el nombre de un campo de la tabla permanece inalterado el valor del campo.
  • Una vez realizada la consulta de eliminación, no se puede deshacer la operación.

Ejemplo 5:

Añadir al salario de todos los empleados el 10%, y a la comisión el 25%.

UPDATE empleados
SET salario = salario + salario * 0.10,
comision = comision + comision * 0.25;

Ejemplo 6:

Aumentar el sueldo en un 10% y la comisión en un 25% a aquellos empleados que se apelliden "Sanchez".

UPDATE empleados
SET salario = salario + salario * 0.10,
comision = comision + comision * 0.25
WHERE apellido = 'Sanchez';

Borrado

La instrucción DELETE sirve para eliminar registros completos de una tabla o más tablas pero las tuplas permanecen intactas, la estructura con sus campos, sus índices, etc…

A estas consultas se las llama consultas de eliminación de datos.

Sintaxis:

DELETE [*]
FROM tabla
[WHERE criterio]

Consideraciones:

  • Se eliminan todos los datos que coincidan con la condicion de la cláusula WHERE.
  • Si no se incluye la cláusula WHERE, se eliminan todos los datos de la tabla.
  • Una vez realizada la consulta de eliminación, no se puede deshacer la operación.
  • Es aconsejable realizar primero una consulta de selección para ver que campos se eliminaran, y así no borrar datos que no queremos eliminar
  • El asterisco es opcional, funciona de la misma manera se ponga o no.

Ejemplo 7:

Borra toda la fila entera que tenga el campo Administrativo.

DELETE FROM empleados
WHERE trabajo = 'Administrativo';

Ejemplo 8:

Empleado Rodriguez causa baja en el empresa. Suprimir al pobre Rodriguez.

DELETE FROM empleados
WHERE apellido = 'Rodriguez';

Ejemplo 9:

Hay un nuevo alumno, introduce estos datos en la tabla estudiantes:
- Nombre: David.
- Apellido: Herrero.
- Fecha de Nacimiento: 01/08/1976.
- Comentario: Estudiante de informatica.actualmente haciendo un curso de SQL.
- Cuota: 60.

INSERT INTO estudiantes ( nombre, apellido, fnacimiento, comentario, cuota )
VALUES ("David", "Herrero", "01/08/1976", "Estudiante de informatica.actualmente haciendo un curso de SQL.", 60);

Ejemplo 10:

Actualizar las cuotas de los estudiantes, poniendo la cuota en 100 a aquellos alumnos que tienen la cuota menor que 100.

UPDATE estudiantes SET cuota = 100
WHERE cuota<100;

Ejemplo 11:

Borra los datos de aquellos estudiantes cuyo nombre empieza por D.

DELETE *
FROM estudiantes
WHERE nombre LIKE "D*";

« MySQL 4 | Mantenimiento y consulta de datos

Si no se indica lo contrario, el contenido de esta página se ofrece bajo Creative Commons Attribution-ShareAlike 3.0 License