Hola qué tal.
Bienvenidos a este nuevo capítulo del curso completo de base de datos.
Y llegó el momento de salir de nuestra sentencia SELECT y meternos en la ejecución de comandos en nuestra
base de datos.
Nos espera tres comandos tres instrucciones que tienen una misión muy definida cada uno.
El primero y el que vamos a ver en este capítulo es la sentencia INSERT para insertar datos en nuestra
base de datos.
Si no existiera esta sentencia no tendría sentido.
La base de datos es la sentencia con la que vamos a alimentar las tablas y vamos a crear registros en
nuestra base de datos y vamos a verlo lo más completo posible con todos los condimentos que tiene esta
instrucción insert.
La sintaxis es muy simple
se le dice insertar en endonde en una tabla.
Vamos a hacer un ejemplo con la tabla alumnos vamos a ver aquí nuestra tabla de alumnos vamos a tener
que saber los campos a ver si tienen algún valor predeterminado.
Vamos a achicar esto un poquito
el único dato que vamos a ingresar es nombre por qué.
Porque sabemos que nuestro aided es un campo que lo va a llenar automáticamente el motor.
Nosotros no tenemos que moverle ningún valor así que vamos a empezar de lo más sencillo a lo más complejo
INSERT INTO alumnos y lo que va después del paréntesis es la lista de los campos en los que vamos a
insertar valores.
En este caso
vamos al Lombo nombre
Cierro paréntesis.
Por qué.
Por qué no tengo más campos.
Si tuviera más campos para insertar los separo por comas dentro del paréntesis.
Pero ya lo vamos a ver en otro ejemplo luego va una cláusula llamada Bauluz
inmediatamente abro otro paréntesis para indicar los valores ok.
En el primer conjunto de paréntesis tenemos los campos en el segundo conjunto a la derecha de válidos
tenemos los valores tan simple como eso y como el nombre es un campo de tipo string el valor tiene que
estar encerrado entre comillas simple no comilla doble.
Un ejemplo ejecutamos
perfecto no nos dio ningún error aquí abajo nos dice que hay una fila afectada y que duró.
Fíjense que las inserciones duran más tardan más en hacerse que los.
La sentencia C.L.
Esto es porque al haber índices tiene que armar la tabla de índices y tiene que armar la tabla de datos.
Vamos a nuestros datos y tenemos ya nuestro quinto registro que es Pedro Narvaja.
Fíjense qué fácil.
Ustedes sólo tienen que aprenderse esta estructura INSERT INTO la tabla.
Los campos encerrados entre paréntesis valioso y los datos vamos a ver ahora algo más complejo pero
no complejo porque cambie sino porque va a hacer más campos porque van a ver que es muy fácil.
Tenemos la Tabla Productos ahora todos mis todos mis campos de la tabla productos tienen un valor predeterminado.
Esto significa que yo podría obviar todos y hacer simplemente un insert de la Tabla Productos pero le
vamos a colocar al menos una descripción para que vean el registro si no no van a ver nada.
Vamos a cambiar aquí
y aquí le vamos a poner una descripción no sé mesa y cuatro sillas
insertamos.
Y fíjense cuál es cuál es la diferencia de alumnos a productos alumnos.
Yo tenía solo un campo para ingresar valores en productos tengo muchos campos pero sin embargo aproveché
los logos los datos predeterminados y lo que hice fue alivianar mi sentencia y solamente ingresar la
descripción.
Aquí está mi mesa y cuatro sillas.
Fíjense que ya me dio un número de producto una idea de producto una descripción en color tiene un valor
por defecto de nada de un espacio me puso un estatus 1 porque es mi valor por defecto.
Aquí lo tenemos.
Me puso un precio en cero seguramente muy bien tengo el Heydi de proveedor mi valor por defecto es un
Nul o sea no va a tener forma de enlazar este registro con una tabla proveedores y el resto de mis campos
con valor por defecto.
Fíjense lo que yo les comentaba en mi consejo de optimización de base de datos de lo rápido que puede
resultar en tablas que tienen muchísimos campos cuando ustedes tengan que hacer operaciones sobre ella
cuando solamente tengan que incluir o mencionar los campos que no tengan valores por defecto y yo podría
hacer una inserción tranquilamente de un registro más obviando la descripción pero hacer un registro
sin sentido porque también la descripción tiene un valor por defecto y me va a crear un registro con
una idea nada más sin ningún tipo de valor sustancial.
Esto es todo lo que ustedes tienen que saber de insert vamos a hacer algo más completo para que ustedes
vean vamos a agregar a nuestra descripción además el color y esto es igual separo por comas abro comillas
blancos de color blanco para mi mesa y cuatro sillas y aquí podemos poner la mesa sola para no repetir
lo voy a poner aquí puedo usar funciones obviamente no puedo poner un cais y me va a convertir en mayúscula
el dato que yo le ponga.
Imagínense que esto viene de va a venir y se va a ejecutar desde aplicaciones ustedes no van a ir a
insertar sus registros a mano van a tener aplicaciones donde el usuario rellena unos unos campos unos
textbook van a apretar el botón Grabar van a hacer clic en grabar y todo esto se va a armar una sentencia
INSERT en memoria y se va a enviar a la base de datos para alimentar sus bases de datos.
Vamos a darle ejecutar aquí nuevamente fíjense que ahora tardó unas décimas unas centésimas de segundo
o más.
Tenemos dos campos y ahora si bajamos tenemos vamos a refrescar a recargar y aquí tenemos nuestra mesa
en mayúscula color blanco y el resto de nuestros campos totalmente autocompletado.
Si tuviéramos que ingresar algún algún dato de tipo numérico
el orden en que yo ponga los campos no importa no interfiere.
No importa que si en la tabla la descripción está antes del color yo puedo cambiar aquí y poner el orden
que a mí me guste y le voy a poner un precio de 100 komas 7.50.
Obviamente al usar la coma como separador de campos no puedo usar la coma como decimal.
Además en mi ciclo el decimal es el punto y no la coma.
Este dato también es importante.
Lo voy a ejecutar vamos a ir a nuestra tabla voy a recargar y voy a tener otra mesa de color blanco
por 100 con 50 y aquí me lo muestra con comas.
Pero no importa no importa con qué me lo muestra me lo muestra con Koma porque para mi Windows el separador
decimales la coma pero para cuando ustedes tengan que grabar instrucciones o hacer una actualización
de tablas van a tener que usar el punto decimal.
Bueno esto es esto es todo el misterio de la sentencia.
Como verán tiene mucho más complejidad la sentencia Cele porque es mucho más completa tiene muchas cláusulas
tiene mucha mucha vuelta y recuerden que con una sola sentencia INSERT ustedes podrían traer un conjunto
de datos y con funciones en el medio bastante grande.
Pero la sentencia INSERT es tan simple como esto ustedes van a ver quizás en algunos ejemplos en Internet
van a ver cosas así sin los campos en este caso si yo ejecutara esto ahora daría un error porque para
obviar la lista de campos es necesario que los valores sí estén ordenados y no me salté ningún campo
si estén ordenados de acuerdo a cómo fueron creados en la tabla en este caso yo voy a tener que incluye
primero la descripción después el color después el estatus.
Aquí no cuenta y esto es muy importante aquí no cuenta los valores por defecto si yo no coloco la lista
de campos estoy obligado a insertar la totalidad de los campos de la tabla.
Nadie usa esto.
Realmente no sé ni por qué ponen el ejemplo en internet quizás para tablas que tengan dos campos para
no tener que mencionarlos y yo ya sé que en un campo va un dato numérico y en el otro una string y se
hace mucho más rápido pero en tablas maestras de cierta importancia.
Es necesario que ustedes coloquen antes del valioso la lista de los campos así que bueno esto ha sido
todo honesta en este capítulo en la clase insert hagan prácticas practiquen insertar registros en cada
una de las tablas en cada una de las tablas que tienen en el curso vayan a la solapa de datos refresquen
y vean qué fue lo que hizo.
Jueguen con funciones y realmente cuando estén preparados pasen a la clase siguiente que la clase del
aplique donde vamos a aprender a actualizar datos.
Esa es un poco más completa tiene un poco más de variantes así que bueno sin más.
Los veo en la próxima clase.