{"id":9023,"date":"2022-01-18T18:08:15","date_gmt":"2022-01-18T23:08:15","guid":{"rendered":"https:\/\/itsoftware.com.co\/content\/?p=9023"},"modified":"2023-03-16T08:35:54","modified_gmt":"2023-03-16T13:35:54","slug":"insertar-registros-tabla-mysql","status":"publish","type":"post","link":"https:\/\/itsoftware.com.co\/content\/insertar-registros-tabla-mysql\/","title":{"rendered":"Insertar registros en tabla de una base de datos MySQL"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Insertar registros en un una tabla MySQL, es una acci\u00f3n muy com\u00fan dentro de la operaci\u00f3n de las bases de datos.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"600\" height=\"251\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2022\/01\/insert-into-mysql-1.png\" alt=\"Insertar registros en MySQL\" class=\"wp-image-9027\" srcset=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2022\/01\/insert-into-mysql-1.png 600w, https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2022\/01\/insert-into-mysql-1-300x126.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption class=\"wp-element-caption\">Insertar registros en MySQL<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">La inserci\u00f3n de registros permite el ingreso de datos a una tabla, ya sea un solo vector de valores, varias l\u00edneas a la vez, o una o m\u00e1s l\u00edneas a partir de la consulta a otra tabla o tablas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed pues vamos a instruir de manera sencilla c\u00f3mo insertar registros. Vamos a usar una tabla llamada <em>empleados <\/em>como ejemplo:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th><strong>id<\/strong><\/th><th><strong>nombre<\/strong><\/th><th><strong>apellido<\/strong><\/th><th><strong>cedula<\/strong><\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>Juan<\/td><td>Pardo<\/td><td>123<\/td><\/tr><tr><td>2<\/td><td>Luis<\/td><td>Cadavid<\/td><td>456<\/td><\/tr><tr><td>3<\/td><td>Mar\u00eda<\/td><td>Mora<\/td><td>899<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabla <em>empleados<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Insertar un solo registro<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si deseamos insertar un solo registro, debemos usar la siguiente sintaxis:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO &lt;nombre tabla&gt;(campo1,campo2,...,campo-n) values(valor1,valor2,...,valor-n);<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Donde la cantidad de campos debe coincidir con la cantidad de valores, y tienen que ser del mismo tipo de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se puede obviar la lista de campos del comando, si se insertan como valores todos los campos de la tabla, en el mismo orden en el que est\u00e1n listados en su dise\u00f1o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En nuestro ejemplo, podemos insertar un registro en la tabla <em>empleados<\/em>, de la siguiente forma:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO empleados(id,nombre,apellido,cedula) values(4,\"Jose\",\"Acevedo\",\"7491\"); <\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Insertar varios registros<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para el caso de varios registros, se debe usar la siguiente sintaxis:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO &lt;nombre tabla&gt;(campo1,campo2,...,campo-n) values\n(valor11,valor12,...,valor-1n),\n(valor21,valor22,...,valor-2n),\n...\n(valor-n1,valor-n2,...,valor-nn); <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En nuestro ejemplo, la inserci\u00f3n de varios registros ser\u00eda como:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO empleados(id,nombre,apellido,cedula) values\n(5,\"Camilo\",\"Montoya\",\"74997\"),\n(6,\"Joaquin\",\"Carrizales\",\"8538\"),  \n(7,\"Maritza\",\"Miranda\",\"6384\");  <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Suponiendo que el campo id es una llave \u00fanica autoincremental, se puede obviar tanto en el listado de campos, como en el listado de valores. MySQL se encargar\u00e1 de ingresar autom\u00e1ticamente el siguiente valor de la secuencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si un campo no se nombra en la inserci\u00f3n, el comando trata de insertar el valor por defecto definido para el campo, en el dise\u00f1o de la tabla. Por ejemplo, un campo puede tener por defecto un valor NULL o vac\u00edo, cuando en la inserci\u00f3n no se pone un valor expl\u00edcito para dicho campo. Si un campo no permite un valor nulo, entonces se generar\u00e1 un error en la inserci\u00f3n, si no se pone un valor diferente a nulo para dicho campo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Insertar registros a partir de una Consulta MySQL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso la inserci\u00f3n no depende de unos valores fijos, como en los casos anteriores, sino que los valores son devueltos desde una consulta, que se realiza a otra tabla, o conjunto de tablas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como en el caso de la inserci\u00f3n de valores fijos, la cantidad de campos a insertar, debe coincidir con la cantidad de valores devueltos por la consulta, sino la inserci\u00f3n fallar\u00e1. As\u00ed pues se debe seguir la siguiente sintaxis:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO &lt;nombre tabla&gt;(campo1,campo2,...,campo-n) SELECT campo11,campo12,...,campo1n) FROM &lt;nombre tabla 2&gt; WHERE &lt;condicional&gt;;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para nuestro ejemplo, consideremos otra tabla llamada <em>operarios<\/em>:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th><strong>id<\/strong><\/th><th><strong>nombres<\/strong><\/th><th><strong>apellidos<\/strong><\/th><th><strong>cc<\/strong><\/th><th><strong>cargo<\/strong><\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>Luis<\/td><td>Bola\u00f1os<\/td><td>887<\/td><td>Auxiliar<\/td><\/tr><tr><td>2<\/td><td>Martha<\/td><td>Caviedes<\/td><td>9781<\/td><td>Documentaci\u00f3n<\/td><\/tr><tr><td>3<\/td><td>Miguel<\/td><td>Casta\u00f1o<\/td><td>835<\/td><td>Auxiliar<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabla <em>operarios<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Supongamos que queremos insertar en la tabla <em>empleados<\/em>, los registros de la tabla <em>operarios <\/em>que tengan como cargo \u00abAuxiliar\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como el campo id de empleado es autoincremental, no debemos incluir el id de operario en la consulta:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO empleados(nombre,apellido,cedula) SELECT nombres,apellidos,cc FROM operarios WHERE cargo=\"Auxiliar\";<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De este modo se inserta el primer y tercer registro de la tabla <em>operarios<\/em>, en la tabla <em>empleados<\/em>. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Te puede interesar leer tambi\u00e9n c\u00f3mo <a href=\"https:\/\/itsoftware.com.co\/content\/actualizacion-de-registros-de-una-tabla-mysql\/#copiar-filas-misma-tabla\"><strong>copiar filas de una tabla en ella misma<\/strong><\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Restricciones en la inserci\u00f3n de registros<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dado que las tablas pueden tener restricciones seg\u00fan su dise\u00f1o, la inserci\u00f3n puede fallar en alguno de los siguientes casos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1- <em>Por el tipo de dato del campo<\/em>: El valor a insertar debe ser del mismo tipo del campo, o debe ser posible una conversi\u00f3n autom\u00e1tica del tipo. Por ejemplo, si tenemos un campo de tipo entero, no se podr\u00e1 insertar un valor de texto. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2- <em>Llaves de la tabla<\/em>: Las llaves permiten la creaci\u00f3n de \u00edndices, controlar valores \u00fanicos y mantener la consistencia referencial de la base de datos. Estas llaves pueden definir que un campo s\u00f3lo puede tener valores diferentes, o que la combinaci\u00f3n de campos debe ser \u00fanica, o que un campo sea una llave for\u00e1nea, lo que indica que dicho campo debe contener un valor, que de debe existir como llave \u00fanica en otra tabla, con el fin de tener una integridad referencial de los datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3- <em>Campos nulos o vac\u00edos<\/em>: Dependiendo de la definici\u00f3n de los campos de la tabla, \u00e9stos pueden permitir o no un valor nulo por defecto, lo que debe ser considerado en el momento de armar la inserci\u00f3n de datos. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En otro art\u00edculo, estaremos hablando en m\u00e1s detalle sobre la importancia de las llaves de una tabla en MySQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este art\u00edculo hace parte del sistema de divulgaci\u00f3n de conocimiento de <a href=\"https:\/\/itsoftware.com.co\/content\/desarrollo-de-software-bogota-colombia\/\"><strong>ITSoftware<\/strong><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Insertar registros en un una tabla MySQL, es una acci\u00f3n muy com\u00fan dentro de la operaci\u00f3n de las bases de datos. La inserci\u00f3n de registros permite el ingreso de datos[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":9027,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[97],"tags":[1571,1573,1572],"class_list":["post-9023","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bases-de-datos","tag-insert-into","tag-insertar-filas","tag-insertar-registros"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2022\/01\/insert-into-mysql-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/9023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/comments?post=9023"}],"version-history":[{"count":0,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/9023\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/media\/9027"}],"wp:attachment":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/media?parent=9023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/categories?post=9023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/tags?post=9023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}