Web.SQL.Manipulando Datos.
Creamos la tabla:
CREATE TABLE personas (
id int NOT NULL AUTO_INCREMENT,
nombre varchar(255) NOT NULL,
apellidos varchar(255),
edad int
);
INSERT. Se utiliza para insertar registros en una tabla ya creada previamente.
INSERT INTO personas
VALUES (1, “ismael”, “pérez”,37);
- Esta forma se utiliza cuando vamos a meter datos en todos los campos de la tabla. Se deben almacenar en el mismo orden que se diseñó con el CREATE TABLE.
Y si quiero que agregar más de una fila a la vez, ¿Como lo hago?.
Tan simple como separar cada registro por coma y volviendo a meter entre paréntesis los valores de cada campo. La cláusula VALUE sólo se pone una vez, da igual el número de registro que vayamos a almacenar.
INSERT INTO personas
VALUES
(1, “ismael”, “pérez”,37),
(2, “juan”, “rubio”,37),
(3, “pedro”, “pereira”,37);
Se puede tener la necesidad de no almacenar en todos los campos, el cual hay que especificar las columnas de forma manual:
INSERT INTO personas (nombre, apellidos, edad)
VALUES (‘Ismael’, ‘Núñez’, 21);
- Se especificas las columnas y en el VALUES se le dan los datos en el mismo orden que en el INTO. En este caso no hemos introducido el valor de ID, ya que no es necesario por ser un AUTOINCREMENT y él mismo se encarga de almacenar el valor.
Podemos tener la opción de insertar valores en una tabla pero de la instrucción SELECT:
INSERT INTO personas (nombre, apellidos, edad)
SELECT nombre, apellidos, edad FROM personas2
WHERE edad>=18;
UPDATE. Se utiliza para modificar registros de una tabla. Un ejemplo:
UPDATE personas
SET edad=21
WHERE pais=’Mexico’;
En este ejemplo modifica la edad a 21 en todos los registros cuyo país sea México.
Con el Update hay que tener mucho cuidado, debe estar siempre ligado con la cláusula Where, ya que si no la usamos, modificaría todos los registros de la tabla.
DELETE. Se utiliza para borrar registros de una tabla. Un ejemplo:
DELETE FROM personas
WHERE pais=’Mexico’;
En este ejemplo borra aquellos registros de la tabla personas cuyo país se México.
Si queremos borrar todos los registros de una tabla, lo haríamos sin el Where:
DELETE FROM personas;
Copiando Tablas.
Con la propia cláusula SELECT se puede generar copias de otras tablas:
SELECT * INTO CopiaPersona
FROM personas;
Copiar la tabla en otra base de datos:
SELECT * INTO CopiaPersona IN ‘OtraBD.mdb’
FROM personas;
Se puede también copiar sólo las columnas que nos interese:
SELECT nombre, apellidos INTO PersonasAlemanas
FROM personas
WHERE pais = ‘Alemania’;