1 00:00:00,000 --> 00:00:10,080 Buenos días, vamos en este vídeo a través del restaurante MAURO, que lo tengo aquí con todas 2 00:00:10,080 --> 00:00:18,120 las tablas, a hacer varias inserciones y actualizaciones como ejemplos muy parecidos 3 00:00:18,120 --> 00:00:22,079 a los mandados en la tarea. En cuanto al restaurante MAURO, lo primero que he puesto 4 00:00:22,079 --> 00:00:28,800 es usar esta base de datos y lo primero que vamos a hacer es insertar tres nuevos comedores con los 5 00:00:28,800 --> 00:00:33,960 datos indicados. Vamos a ponerlos, los tres comedores van a ser 6 00:00:33,960 --> 00:00:47,140 insert into comedores y vamos a poner cada uno de sus, para saber la tabla comedores 7 00:00:47,140 --> 00:00:58,420 podemos poner describe comedores y podemos ver al ejecutar cuáles son los 8 00:00:58,420 --> 00:01:15,219 campos que tiene cada una de las tablas. Entonces vamos a insertar dentro de comedores, insert into comedores, primero se pone el insert into, luego la tabla y después cada uno de los campos de la misma, que vamos a rellenar. 9 00:01:15,219 --> 00:01:37,060 Entonces sería código, código C, que sería el primero, coma, nombre, voy a poner todo en minúsculas y así voy más rápido, código C, coma, nombre, capacidad, mesas y localización. 10 00:01:37,060 --> 00:01:51,549 Bien, se pone entre paréntesis cada uno de los campos y a continuación se pone values. Esos son los valores que va a tener cada uno de ellos. Para ponerlos vamos a poner aquí un valor de 10 al código. 11 00:01:51,549 --> 00:02:21,439 Le vamos a poner Salón Atlántico. Vamos a poner la capacidad 80, 20 de número de mesas y luego vamos a poner que está en la planta baja. 12 00:02:26,669 --> 00:02:29,169 Cerramos y punto y coma. Ya estaría la línea completa. 13 00:02:29,830 --> 00:02:34,129 Hay que comprobar que esto no tiene errores y vamos a ver si los tiene o no. 14 00:02:34,689 --> 00:02:40,129 Vamos a bajar. Hemos puesto values. Aquí tenemos un error y ya estaría completa. 15 00:02:40,669 --> 00:02:45,509 Vamos a ponerlo así para que se vea completa y vamos a hacer cuatro inserciones. 16 00:02:45,669 --> 00:02:50,990 Vamos a hacer esta inserción. La siguiente ya no las escribo, sino que la vamos a poner. 17 00:02:50,990 --> 00:03:07,550 Es importante, cuando hagáis un script, poner un comentario. Y aquí tendríamos, con el comentario, tendríamos insertar tres nuevos comedores. 18 00:03:07,550 --> 00:03:13,370 y sería así 19 00:03:13,370 --> 00:03:17,229 bien, ya tenemos puesto el primero 20 00:03:17,229 --> 00:03:19,969 vamos a insertar el segundo y el tercero 21 00:03:19,969 --> 00:03:22,430 como realmente son todos iguales 22 00:03:22,430 --> 00:03:25,930 lo voy a poner aquí y lo voy a copiar 23 00:03:25,930 --> 00:03:28,270 aquí tendríamos los otros tres 24 00:03:28,270 --> 00:03:31,830 que serían comedores 25 00:03:31,830 --> 00:03:33,969 que tendríamos de 20 de código 26 00:03:33,969 --> 00:03:36,949 terraza norte, 60, 20 exterior 27 00:03:36,949 --> 00:03:48,490 Y el tercero, que sería, veis que aquí he añadido una en la que vamos a poner que la localización no está indicada. 28 00:03:48,610 --> 00:03:53,330 Entonces se omite para que use un null en lugar de él. 29 00:03:53,789 --> 00:03:58,050 Veis que puedo hacer un insert sin tener que poner todas las campos. 30 00:03:58,550 --> 00:04:03,150 He puesto cuatro campos y en el campo que no, eso sí, tiene que corresponderse el número de campos que hay aquí. 31 00:04:03,150 --> 00:04:07,310 aunque no sean los cinco campos que hay aquí, puedes poner menos 32 00:04:07,310 --> 00:04:10,150 pero tiene que corresponderse a esos campos con los valores 33 00:04:10,150 --> 00:04:14,009 y los tipos de cada uno de los campos tienen que corresponder 34 00:04:14,009 --> 00:04:18,230 bien, entonces aquí lo único que sucede, lo único que no hemos puesto es localización 35 00:04:18,230 --> 00:04:22,089 y que le pondrá un valor null, si nosotros lo ejecutamos 36 00:04:22,089 --> 00:04:25,829 veis, nos lo ha ejecutado perfectamente y si 37 00:04:25,829 --> 00:04:29,790 hacemos un select, vamos a poner 38 00:04:29,790 --> 00:04:34,670 select comedores 39 00:04:34,670 --> 00:04:39,889 vamos a seleccionar todo 40 00:04:39,889 --> 00:04:42,370 from comedores 41 00:04:42,370 --> 00:04:47,649 y le damos a ejecutar 42 00:04:47,649 --> 00:04:49,589 lo que tendremos es que 43 00:04:49,589 --> 00:04:52,970 bueno, está diciendo que 44 00:04:52,970 --> 00:04:56,790 seleccioname todo desde comedores 45 00:04:56,790 --> 00:05:01,879 me está diciendo inserta entre comedores 46 00:05:01,879 --> 00:05:08,079 bueno, me está diciendo que he duplicado la entrada 47 00:05:08,079 --> 00:05:10,399 porque lo estoy 48 00:05:10,399 --> 00:05:16,160 vamos a generar la consulta para que nos salga, veis aquí hemos metido la primera 49 00:05:16,160 --> 00:05:19,800 que sería la de la planta baja, la segunda y la tercera que le ha puesto un valor de null 50 00:05:19,800 --> 00:05:23,180 a la localización, bien, ya con esto tendríamos 51 00:05:23,180 --> 00:05:28,100 ya insertados estos valores 52 00:05:28,100 --> 00:05:30,120 y vamos a pasar ahora a 53 00:05:30,120 --> 00:05:49,060 Vamos a pasar a insertar a hacer una nueva consulta. La segunda consulta que vamos a hacer o la segunda inserción, vamos a insertar cuatro mesas. Entonces vamos a insertar cuatro mesas. 54 00:05:49,060 --> 00:05:52,639 bien, entonces lo mismo 55 00:05:52,639 --> 00:05:55,019 insert into 56 00:05:55,019 --> 00:05:58,019 y ahora la tabla que se va a utilizar es mesas 57 00:05:58,019 --> 00:06:01,120 y bueno, podemos haber hecho un describe previo 58 00:06:01,120 --> 00:06:03,379 vamos a escribir primero el 59 00:06:03,379 --> 00:06:05,699 para saber 60 00:06:05,699 --> 00:06:08,459 o también lo podemos ver aquí 61 00:06:08,459 --> 00:06:12,139 mesas que tenemos aquí, tenemos las columnas 62 00:06:12,139 --> 00:06:14,300 y podemos ver cuáles son las cuatro columnas que tiene 63 00:06:14,300 --> 00:06:16,019 entonces habría que poner las cuatro 64 00:06:16,019 --> 00:06:19,779 valores y los valores que vayamos a poner. 65 00:06:21,139 --> 00:06:23,300 Bien, entonces, ¿qué tendríamos? Aquí tendríamos 66 00:06:23,300 --> 00:06:28,819 código M, código C, 67 00:06:28,959 --> 00:06:30,399 acordaos que esta era una 68 00:06:30,399 --> 00:06:36,879 acordaos que estaba formada por una primary key compuesta 69 00:06:36,879 --> 00:06:39,879 N asientos y 70 00:06:39,879 --> 00:06:46,790 D, N, I. Bien, en cuanto a los valores 71 00:06:46,790 --> 00:07:07,389 Entonces vamos a insertar, vamos a poner qué valores, vamos a insertar, el primero será 1.10.4, vamos a poner 1.10.4 y vamos a eliminar el valor de, nosotros queremos que el código, vamos a hacer que el DNI del camarero no esté introducido. 72 00:07:07,389 --> 00:07:21,829 Ese sería el primero. Si existe comedor 10, este sería así. Vamos a hacerlo como en que solo utilizamos una de las tres de los campos. El DNI camarero no lo utilizamos. 73 00:07:21,829 --> 00:07:47,310 A continuación vamos a hacer otro insert, que sería insert into mesas, que tendríamos que sería, y vamos a insertar lo mismo, pero ahora vamos a copiar esto, copiar, pegar, y le vamos a poner por ejemplo 1, 99 y 6. 74 00:07:47,310 --> 00:07:53,050 Vamos a poner que el código C es el 99 y que el número de cientos es 6. 75 00:07:53,769 --> 00:07:59,810 Y por último vamos a hacer otro, pero ahora solo con, vamos a hacerlo aquí. 76 00:08:01,589 --> 00:08:05,410 Tendríamos que vamos a autorizar nada más que código M y código C. 77 00:08:06,569 --> 00:08:08,790 De tal manera que aquí lo único que podemos poner son dos valores. 78 00:08:08,930 --> 00:08:10,790 Vamos a poner el valor de 2 y el valor de 10. 79 00:08:11,110 --> 00:08:15,189 Este sería 2 y el valor de 10. 80 00:08:15,189 --> 00:08:36,190 Aquí tenemos la mesa tercera. ¿Qué sucede? Puede fallar si el número de asientos es nulo y no tiene default. Si en tu base de datos ya aplicaste lo del default, acordaos, en la tarea que había un default de 4, entonces no fallará. 81 00:08:36,190 --> 00:08:45,129 Aquí, como no hemos puesto el número de asientos, nos pondrá por defecto el número 4. 82 00:08:45,529 --> 00:08:54,149 En cuanto a las otras dos que tenemos, en mesas 2 tendríamos que fallar si no existe el comedor 99. 83 00:08:56,649 --> 00:09:00,330 Entonces vamos a ejecutarlo y vamos a meter alguna más. 84 00:09:00,629 --> 00:09:05,149 Tendríamos ya las tres, sería la de 2 y 10 y vamos a meter una más. 85 00:09:05,149 --> 00:09:06,929 que sería esta 86 00:09:06,929 --> 00:09:08,529 y que tendríamos que 87 00:09:08,529 --> 00:09:10,250 ahora vamos a poner con número de asientos 88 00:09:10,250 --> 00:09:12,330 y vamos a poner el 3, el 20 y el 2 89 00:09:12,330 --> 00:09:13,409 3 90 00:09:13,409 --> 00:09:16,409 20 91 00:09:16,409 --> 00:09:18,250 y 2 92 00:09:18,250 --> 00:09:21,149 le damos a ejecutar 93 00:09:21,149 --> 00:09:22,429 y vamos a ver si nos da algún error 94 00:09:22,429 --> 00:09:24,830 nos está diciendo que el insert into mesas 95 00:09:24,830 --> 00:09:26,129 en el 1.99.6 96 00:09:26,129 --> 00:09:28,570 no se puede adicionar 97 00:09:28,570 --> 00:09:31,629 por la 98 00:09:31,629 --> 00:09:33,029 vamos a ver aquí 99 00:09:33,029 --> 00:09:37,789 nos está diciendo que falla 100 00:09:37,789 --> 00:09:40,269 concretamente la 1.99.6 101 00:09:40,269 --> 00:09:42,710 ¿por qué puede fallar la 1.99.6? 102 00:09:43,230 --> 00:09:46,570 porque debe fallar si no existe el comedor 99 103 00:09:46,570 --> 00:09:49,909 y como no hemos generado el comedor 99 104 00:09:49,909 --> 00:09:53,110 vamos a quitar esto de aquí 105 00:09:53,110 --> 00:09:57,710 y vamos a ver en select 106 00:09:57,710 --> 00:10:11,100 y vemos que los comedores que hay 107 00:10:11,100 --> 00:10:15,179 son el 10, el 20 y el 30, entonces estamos poniendo 108 00:10:15,179 --> 00:10:19,360 el 99 y ese no existe, por ello debería fallar 109 00:10:19,360 --> 00:10:22,940 y correctamente nos ha fallado, si ahora ejecutamos 110 00:10:22,940 --> 00:10:27,340 ves el 10, hemos puesto aquí el 10, el 10 y el 20 y esos sí existen 111 00:10:27,340 --> 00:10:37,259 Entonces, si quitamos el 99 y le ponemos el valor de 30, no debería dar ningún error. 112 00:10:37,639 --> 00:10:43,779 Vamos a darle ahora y nos está diciendo que, bueno, daría un duplicado porque ya se habían creado, ¿vale? 113 00:10:44,259 --> 00:10:48,360 Pero el único que nos ha creado ahora sí sería el del 30. 114 00:10:48,360 --> 00:10:53,899 Vamos a ver qué... 115 00:10:53,899 --> 00:11:07,179 select from mesas y que tenemos tenemos que dentro de mesas tenemos el comedor 116 00:11:07,179 --> 00:11:13,899 sería el 1 el 10 y el 4 con un valor de nulo para el camarero nos faltaría 117 00:11:13,899 --> 00:11:19,960 nos faltaría el hemos insertado si os acordáis aquí teníamos 118 00:11:19,960 --> 00:11:28,539 El primero era el 1.10.4, que es el que ha insertado correctamente. Luego tendríamos el 119 00:11:28,539 --> 00:11:37,480 10.36, que ese no lo ha insertado. Vamos a quitar el que ya hemos insertado para no repetirlo y 120 00:11:37,480 --> 00:11:54,620 Y vamos a dejar el, este sería el 2.10, que sería el que, este sería el 2.10, que tampoco tendría que estar insertado, y el 3.20, que tampoco tendría que estar. 121 00:11:55,059 --> 00:12:02,279 Si yo le doy a ejecutar, ahora debería haber insertado todos. Vamos a ver si ha sido así. Cortamos. 122 00:12:02,279 --> 00:12:25,830 Bien, veis, ya tenemos los cuatro insertados, tanto el del código 10, el código 30 y el del código 20. Lo que pasa es que como van a tener distintos códigos, no los ha generado. 123 00:12:26,230 --> 00:12:41,629 Como hemos generado, vamos a repasarlo aquí, como hemos generado, teníamos el 1.30, que sería este de aquí, pero que no lo hemos puesto de Nico Amarero, por tanto no lo pone como nulo. 124 00:12:41,629 --> 00:13:01,710 En cuanto a esta inserción de 210, que sería esta de aquí, nos ha puesto, bueno, el DNI como no tiene un valor por defecto, nos lo pone nulo, y en cuanto al número de asientos, por defecto, ya lo teníamos en la tarea, que lo pusimos en una de las modificaciones, y nos pone el 4 por defecto. 125 00:13:01,710 --> 00:13:12,570 Y por último tenemos el 3.22, que sería este otro de aquí, en el que este no hay ningún problema y nos pondría el DNI nulo. 126 00:13:13,610 --> 00:13:25,149 Bien, vamos a hacer otro ejercicio. Vamos a quitar esto de aquí y vamos a poner el ejercicio tercero, que sería ahora insertar tres empleados. 127 00:13:25,149 --> 00:13:54,860 Vamos a insertar tres empleados, vamos a ponerlo con un... y vamos a poner insertar empleados. Bien, lo mismo, insert, para no repetirnos, lo tenemos aquí y vamos a poner, esto sería empleados, esto sería empleados y empleados. 128 00:13:56,840 --> 00:14:01,200 con respecto a las columnas de empleados 129 00:14:01,200 --> 00:14:04,700 lo tenemos aquí y tenemos que 130 00:14:04,700 --> 00:14:08,980 serían todas estas de aquí, bien, no vamos a 131 00:14:08,980 --> 00:14:12,659 bueno, vamos a meter en algunas todos y en otras no, entonces 132 00:14:12,659 --> 00:14:15,840 lo que vamos a hacer es en cuanto a 133 00:14:15,840 --> 00:14:19,240 la primera inserción sería esta de aquí 134 00:14:19,240 --> 00:14:26,129 donde vamos a utilizar todos estos valores, vamos a poner 135 00:14:26,129 --> 00:14:51,820 Y de valores, todos estos de aquí. Bien, hemos puesto el DNI, hemos puesto el nombre, apellidos, la dirección, no la hemos saltado, la fecha de alta, la categoría y el salario. Como veis, no hemos puesto todos ellos. Bien, ¿qué tenemos en cuanto a la segunda inserción que vamos a hacer? Vamos a hacerlo ahora con otros nuevos campos, que serían estos de aquí. 136 00:14:51,820 --> 00:14:55,600 veis que no estoy poniendo todos los campos 137 00:14:55,600 --> 00:14:58,299 voy a poner solo unos cuantos 138 00:14:58,299 --> 00:15:02,700 aquí tendríamos la segunda y vamos a poner como valores todos estos 139 00:15:02,700 --> 00:15:09,809 tiene que corresponder, aunque no pongáis todos los campos 140 00:15:09,809 --> 00:15:12,409 tienen que estar en el mismo orden y tienen que corresponder con el número que haya 141 00:15:12,409 --> 00:15:15,629 aquí hay 6 campos, pues tenemos puestos estos 6 campos 142 00:15:15,629 --> 00:15:16,929 2, 4, 6, ¿vale? 143 00:15:17,750 --> 00:15:21,809 y la tercera sería esta otra que vamos a utilizar 144 00:15:21,809 --> 00:15:27,139 vamos a utilizar este de aquí 145 00:15:27,139 --> 00:15:31,940 que estamos utilizando 146 00:15:31,940 --> 00:15:33,700 todos los escampos. Vamos a meter estos 147 00:15:33,700 --> 00:15:34,379 escampos de aquí 148 00:15:34,379 --> 00:15:44,120 y vamos a bajarlo aquí para que se vea. 149 00:15:44,779 --> 00:15:46,460 Bien, el primero nos está dando un error 150 00:15:46,460 --> 00:15:48,480 porque hemos puesto 151 00:15:48,480 --> 00:15:50,080 values 152 00:15:50,080 --> 00:15:56,279 aquí, doble paréntesis. 153 00:15:56,980 --> 00:15:58,460 Bien, ya tendríamos 154 00:15:58,460 --> 00:16:00,159 la inserción de los tres empleados. 155 00:16:00,620 --> 00:16:02,480 En cuanto al primer empleado 156 00:16:02,480 --> 00:16:04,740 tenemos la fecha 157 00:16:04,740 --> 00:16:06,779 de alta, veis que la hemos puesto con el 158 00:16:06,779 --> 00:16:08,159 año, mes y día. 159 00:16:08,679 --> 00:16:09,019 Muy bien. 160 00:16:10,159 --> 00:16:28,059 Entonces, acordaos que pusimos una restricción para una fecha que era del 2010, del 7, del 15. Entonces, esto debe fallar si la fecha estaba puesta a... Ahora lo veremos, ¿vale? 161 00:16:28,059 --> 00:16:53,679 Y luego en cuanto a la segunda debería ser ok, no hay ningún problema. Y en cuanto a la tercera tenemos que también debería ser ok. Vamos a hacer ahora la inserción. Vamos aquí, esto vamos a quitarlo y vamos a hacer la inserción de ahora de cocineros. 162 00:16:53,679 --> 00:17:00,000 Bien, en cuanto a la inserción de cocineros 163 00:17:00,000 --> 00:17:03,500 vamos a hacer lo mismo, pondríamos esto así 164 00:17:03,500 --> 00:17:11,180 y vamos a hacer tres inserciones, una, dos y tres 165 00:17:11,180 --> 00:17:13,059 Vamos a poner aquí cocineros 166 00:17:13,059 --> 00:17:23,650 Bien, en cuanto a los campos que vamos a utilizar en cocineros 167 00:17:23,650 --> 00:17:25,150 si nos vamos a la tabla de cocineros 168 00:17:25,150 --> 00:17:29,130 estaría aquí 169 00:17:29,130 --> 00:17:31,089 y está formado por estas columnas 170 00:17:31,089 --> 00:17:32,049 que son tres en realidad 171 00:17:32,049 --> 00:17:35,210 entonces vamos a coger DNI puesto y especialidad 172 00:17:35,210 --> 00:17:36,509 DNI 173 00:17:36,509 --> 00:17:38,309 puesto 174 00:17:38,309 --> 00:17:46,660 vale 175 00:17:46,660 --> 00:17:49,599 vamos a poner esto en todas ellas 176 00:17:49,599 --> 00:17:51,559 pero vamos a hacer 177 00:17:51,559 --> 00:17:55,700 vamos a hacer una 178 00:17:55,700 --> 00:17:56,940 y dos de camareros 179 00:17:56,940 --> 00:17:59,339 camareros 180 00:17:59,339 --> 00:18:01,400 y vamos a hacer otra de camareros 181 00:18:01,400 --> 00:18:28,849 En cuanto a la primera, vamos a insertar estos tres valores. Vamos a poner, y tendríamos ya puesto que sería el DNI, jefe de partida y pescados. 182 00:18:28,849 --> 00:18:53,710 Y luego en cuanto a camareros, vamos a ver camareros, las columnas que tiene y estaría formado por DNI, turno, años y DNI. Vamos a poner pues DNI, turno, años y DNI encargado. 183 00:18:53,710 --> 00:18:58,269 vale, en este camarero le vamos a poner estos valores 184 00:18:58,269 --> 00:19:00,950 vamos a poner el último nulo 185 00:19:00,950 --> 00:19:09,220 y tendríamos ya camareros 186 00:19:09,220 --> 00:19:12,160 y luego el otro camarero vamos a ponerlo igual 187 00:19:12,160 --> 00:19:16,299 y vamos a utilizar también los cuatro campos 188 00:19:16,299 --> 00:19:22,140 y utilizaremos esto 189 00:19:22,140 --> 00:19:32,750 vale, con respecto a este primer camarero 190 00:19:32,750 --> 00:19:36,289 tendría que ser ok, no habría problemas 191 00:19:36,289 --> 00:20:03,970 En cuanto al siguiente, como este DNI ya estaba insertado desde empleados, pues no va a haber ningún problema. Pero fijaos, este DNI de aquí está inventado y no estaría dentro de... Entonces, vamos a hacer una cosa. Primero vamos a ejecutar. Vamos a acordar esto. Ejecutamos la inserción de empleados, que sería con el 1, 1, 1, 2, 2 y 3, 3. Y vemos si está correcto. 192 00:20:03,970 --> 00:20:15,670 ¿Qué sucede con el tercero? Nos está diciendo que hay un error en el primero. ¿Por qué habría un error en el primero de los empleados? ¿Por qué? Porque hay una restricción en cuanto a la fecha. 193 00:20:15,670 --> 00:20:35,250 ¿Veis? No puede ser anterior a la del 7 del 15. Entonces aquí no lo estamos cumpliendo y por eso nos dice que hay un error. En cuanto a, por tanto, si veis que aquí estaría la restricción que le pusimos en la tarea del tema 3. 194 00:20:36,190 --> 00:20:39,369 Entonces, como no puedo insertarlo, nos genera el error. 195 00:20:40,309 --> 00:20:41,549 Esto ya lo podemos quitar. 196 00:20:43,910 --> 00:20:48,009 Ya hemos hecho las dos inserciones del empleado 222 y del 333 que saldrían correctas. 197 00:20:48,009 --> 00:21:02,420 Vamos a ver. Seleccionamos todo y vemos que correctamente no se ha seleccionado ninguno. 198 00:21:02,420 --> 00:21:55,819 Vamos a ver. Y no hemos insertado en empleados. Vamos a hacer otra inserta. Vale. El 1-1 nos dice que no. Vamos a quitar esto. Bien, no nos está insertando ninguno. Vamos a Z-Z. Y vamos a quitar el primero. Y vamos a ejecutarlo. Bien, ahora vamos a... Vale. 199 00:22:10,029 --> 00:22:11,309 Bien, ya estarían insertados. 200 00:22:11,589 --> 00:22:12,849 Como nos daba... 201 00:22:12,849 --> 00:22:13,809 Perdón. 202 00:22:14,529 --> 00:22:17,390 Como nos daba error el primer DNI, 203 00:22:17,690 --> 00:22:19,430 porque no cumplía la fecha de alta, 204 00:22:20,190 --> 00:22:24,210 aquí veis, porque era anterior a la fecha de alta fijada. 205 00:22:24,210 --> 00:22:30,109 No podía haber ningún registro que tuviera una fecha de alta anterior a esta. 206 00:22:30,450 --> 00:22:32,829 ¿Veis? El 222 no lo ha colocado y el 363 también. 207 00:22:33,309 --> 00:22:38,670 Bien, entonces ahora vamos a poner...