Comandos básicos en MySQL (II)


Continuamos con la segunda entrega de las órdenes básicas de MySql (podéis ver el primer capítulo aquí)

Mientras que en la primera parte mostrábamos lo más relevante respecto a las consultas, en esta segunda trataremos los comandos necesarios para modificar la base de datos.

En primer lugar voy a incluir algunos ejemplos DML (manipulación de datos) de inserción, modificación y eliminación.

Para inserir datos usaremos INSERT. Y para ello usaremos la siguiente sintaxis:

INSERT INTO tabla
VALUES (atributo1, atributo2...)

Si fuera necesario, podemos combinar con SELECT para sacar el valor que necesitemos de otras tablas:

INSERT  INTO
sanitat.doctor
VALUES (
(SELECT HOSPITAL_COD FROM hospital WHERE NOM LIKE "Provincial"),
666,"Perez","Pediatria"
);

Usamos UPDATE para modificar los registros. Siempre irá acompañado de SET.

En el siguiente ejemplo modificamos la tabla doctor para cambiar la especialidad del doctor Nico P.

UPDATE sanitat.doctor
SET  ESPECIALITAT = "Neurologia"
WHERE COGNOM LIKE "Nico  P.";

Usamos DELETE para borrar registros.

En el ejemplo borramos los registros de la tabla INGRESSOS del enfermo “Serrano”.

DELETE  FROM sanitat.ingressos
WHERE  INSCRIPCIO = (
SELECT INSCRIPCIO
FROM sanitat.malalt
WHERE  COGNOM = "Serrano V.");

En segundo lugar veremos ejemplos ejemplos de eliminación y modificación de estructura. También llamado DDL o instrucciones de definición de datos.

Usamos DROP para borrar una tabla.

DROP  TABLE sanitat.doctor;

ALTER TABLE para modificar la estructura de la tabla.

En el ejemplo vamos a ver como se añade una columna de nombre SOU que permite almacenar números realess positivos (para eso usamos el UNSIGNED) de hasta ocho dígitos contando dos decimales y que su valor por defecto sea 0 (para ello usamos el DEFAULT 0).

ALTER  TABLE sanitat.doctor;
ADD COLUMN SOU DEC(8,2) UNSIGNED DEFAULT 0;

Si nos queremos cargar la columna antes creada usamos también un DROP siempre tras un ALTER TABLE.

ALTER  TABLE sanitat.doctor
DROP COLUMN sou;

Podemos modificar los valores aceptados en una columna con MODIFY COLUMN.

El siguiente ejemplo muestra como el atributo COGNOM no acepta valores repetidos (con NOT NULL) y es un campo obligatorio (con UNIQUE). Para que pille el valor hay que ponerle su tipo y número de caracteres (VARCHAR(13)).

ALTER  TABLE sanitat.doctor
MODIFY COLUMN COGNOM VARCHAR(13) NOT NULL  UNIQUE;

Para crear índices usamos CREATE INDEX.

CREATE  INDEX Codis
ON sala (HOSPITAL_COD, SALA_COD);

Para cargárnoslo usamos también DROP. Hay que recordar que hay que completar la sentencia con el nombre de la base datos a la que pertenece. Por ejemplo:

DROP  INDEX Codis ON sala;

Y eso es todo de momento! Próximamente… la creación de tablas.