Está en la página 1de 18

ACTUALIZACIN DE

BASES DE DATOS EN
MYSQL
Operaciones con bases de datos ofimticas y
corporativas

Insercin de datos
Para

insertar filas en una tabla se utiliza la orden


INSERT
INSERT INTO NombreTabla [(columna1,
columna2, .....)]
VALUES (valor1, valor2, .....);

Insercin de datos

INSERT INTO emple(emp_no, apellido, oficio,


dir, fecha_alt, salario, comision, dept_no)
VALUES
(1000,QUEVEDO,ANALISTA,7782,CURDATE(),
3000,0,40);

Insercin de datos
Cuando

se dan valores a todas las columnas de la tabla,


no es preciso especificar su nombre en la orden INSERt

Los

valores de las columnas han de ir en el mismo


orden en que estn definidas en la tabla.
INSERT INTO emple
VALUES
(1000,QUEVEDO,ANALISTA,7782,CURDATE(),3000,0
,40);

Insercin de datos
INSERT INTO emple(emp_no, apellido, oficio,
salario, dept_no)
VALUES(1001,RODRIGUEZ,ANALISTA,3000,40
);

INSERT INTO emple(emp_no,apellido)


VALUES(1002,PEREZ);

Insercin de datos
Si

las columnas no se especifican en la clusula INSERT,


se consideran, por defecto, todas las columnas de la
tabla.

Los

valores se deben corresponder con cada una de las


columnas que aparecen

Adems,

deben coincidir con el tipo de datos definido


para cada columna.

Cualquier

columna que no se encuentre en la lista de


columnas tomar el valor NULL

Insercin con select


Si

aadimos a la orden INSERT una sentencia


SELECT, se aaden tantas filas como devuelva la
consulta.
INSERT INTO Nombretabla [(columna1,
columna2, ....)]
SELECT columna1, columna2, ....
FROM NombreTabla2 .......

Insercin con select


Disponemos

de la tabla EMPLE30, cuya


descripcin es la misma que la de la tabla EMPLE.
INSERT INTO emple30(emp_no, apellido, oficio,
dir, fecha_alt, salario, comision, dept_no)
SELECT emp_no, oficio, dir, fecha_alt, salario,
comision, dept_no FROM emple WHERE
dept_no=30;

Insercin con select


La

consulta anterior es equivalente a esta:

INSERT INTO emple30 SELECT * FROM emple


WHERE dept_no=30;
Insertamos

el empleado con nmero 1505 y apellido


GARCA en el departamento que tiene 3 empleados.
INSERT INTO emple(emp_no,apellido,dept_no)
SELECT 1505,GARCA,dept_no
FROM emple GROUP BY dept_no HAVING
COUNT(*)=3;

Modificacin. UPDATE
Para

actualizar los valores de una tabla se utiliza


la orden UPDATE
UPDATE NombreTabla
SET columna1=valor1, columna2=valor2.....
WHERE condicion

Modificacin. UPDATE
Sumamos

100 euros al salario de GIL

UPDATE emple
SET salario=salario+1000
WHERE apellido=GIL;
Duplicamos

el salario de todos los empleados

UPDATE emple SET salario=salario*2;

UPDATE CON SELECT


Se

puede incluir una sentencia SELECT en una


sentencia UPDATE

Duplicar

el salario a todos los empleados del


departamento VENTAS
UPDATE emple
SET salario=salario*2
WHERE dept_no=(SELECT dept_no FROM
depart WHERE dnombre=VENTAS);

UPDATE CON SELECT


Igualar

el oficio y salario de GIL al salario y oficio


de ARROYO
UPDATE emple
SET salario=(SELECT salario FROM emple
WHERE apellido=ARROYO),
oficio=(SELECT oficio FROM emple WHERE
apellido=ARROYO);

Borrado de filas. DELETE


Para

eliminar una o varias filas se utiliza la orden


DELTE
DELETE FROM NombreTabla
WHERE condicin;

Si no se especifica condicin, se eliminan todas


las filas de la tabla

Borrado de filas. DELETE


Borrar

todos los empleados del departamento 10

DELETE FROM emple


WHERE dept_no=10;
Borrar

el departamento de la tabla DEPART que no


tenga empleados
DELETE FROM depart
WHERE dept_no NOT IN (select dept_no FROM
emple);

Transacciones. commit y
rollback
Una

transaccin es una secuencia de una o ms


sentencias SQL que juntas forman una unidad de trabajo.

Imagina

que quieres borrar uno o varios registros de una


tabla, pero te equivocas y eliminas todos los registros de
la tabla.

Existe

alguna forma de subsanar el error y dar marcha


atrs para recuperar registros eliminados?

S,

utilizando transacciones.

Transacciones. commit y
rollback

Por

defecto MySQL funciona en modo


autocommit

Se

confirma cada sentencia ejecutada

Transacciones. commit y
rollback
Pasos

para iniciar una transaccin

Se

comienza una transaccin con la sentencia START


TRANSACTION

Si

se realizan modificaciones en la base de datos y


queremos volver atrs y cancelar los cambios
realizados, utilizamos ROLLBACK

Para

confirmar los cambios realizados utilizamos


COMMIT

Para

comenzar una nueva transaccin utilizamos


START TRANSACTION

También podría gustarte