Los mismos ejemplos vistos anteriormente para Oracle son válidos para MySQL.
Vamos a ver otros ejemplos en MySQL para que practiques tu base de datos proyectosx.
MySQL
En el siguiente ejemplo se inserta en la tabla departamento,el departamento con código “10”, llamado “I+D” y situado en la ciudad de “Sevilla”, escribiremos:
INSERT INTO departamento (cddep,nombre,ciudad) VALUES ('10','I+D', 'Sevilla');<br /><br />o bien:<br /><br />INSERT INTO departamento VALUES ('10','I+D', 'Sevilla');
Observa que en este caso podemos omitir el nombre de las columnas, porque estamos proporcionando valores para todas ellas y además en el orden en el que están definidas
En este otro ejemplo, se inserta un registro de igual manera, pero sin disponer de todos los datos:
INSERT INTO departamento (cddep,nombre) VALUES ('11','Ventas');
Al hacer un <em>INSERT</em> en el que no se especifiquen los valores de todos los campos, en la columna que se omita, siempre que no sea obligatoria, se asignará bien el valor indicado por defecto o bien NULL..
Si la lista de campos indicados no se corresponde con la lista de valores, se obtendrá un error en la ejecución. Por ejemplo, si no se indica el campo 'ciudad' pero sí se especifica un valor para dicho campo:
INSERT INTO departamento (cddep,nombre) VALUES ('11','Ventas', 'Almería');<br />
Se obtiene un error diciendo que se están proporcionando más valores de los indicados.
¿Podemos insertar varias filas con una única sentencia INSERT? Si se puede hacer, y es lo que se conoce como INSERT extendido.
Un INSERT extendido, consiste en una sola sentencia INSERT que permite insertar varias filas a la tabla de manera más eficiente.
Por ejemplo, podemos insertar los datos de tres departamentos de la siguiente forma:
INSERT departamento VALUES ('20','DEPAR20','ALMERÍA'),<br />('21','DEPART21','ALMERIA'), ('22','DEPART22','GRANADA');
Otra cuestión a tener en cuenta, cómo insertamos filas en las que la clave primaria es un AUTONUMÉRICO. A continuación lo vemos.
Para insertar valores AUTONUMÉRICOS, podemos proceder de las siguientes formas:
- Omitimos el nombre de la columna autonumérica.
Por ejemplo, si una tabla de nombre 'alumnos' tiene como clave primaria una columna autonumércia el 'idalumnos' y queremos insertar el siguiente alumno, podemos hacerlo de la siguiente forma:
INSERT INTO alumnos (nombre, apellidos, idcurso)<br />VALUES('Daniel', 'Ro',2);<br />
Siendo la columna 'idalumnos' un autonumérico, su valor vendrá dado por el último alumno más uno.
- Si no omitimos esa columna. En su lugar ponemos un 0 y el sistema calculará automáticamente el valor numérico correspondiente (damos valor a todas las columnas).
Por ejemplo, si una tabla de nombre alumnos tiene como columna autonumércia el idalumnos y queremos insertar el siguiente alumno, podemos hacerlo de las siguientes formas:
INSERT INTO alumnos (idalumnos, nombre, apellidos, idcurso) VALUES (0,'Manuel','Bellido', 2);
o bien, como estamos proporcionando todos los datos:
INSERT INTO alumnos VALUES (0,'David','Segura', 2);<br /><br /><br />
Insertar filas con REPLACE
Funciona igual que INSERT excepto por el hecho de que si el valor de la clave primaria del registro a insertar coincide con un valor existente, éste se borrará para insertar el nuevo. Por ejemplo, si ya existe el departamento de código '09' (misma clave primaria), con la siguiente sentencia, lo sustituiría por los nuevos valores indicados tras VALUES.
REPLACE INTO departamento VALUES (‘09’, ‘InformáticaReplace’, ‘Almería’);<br />