MySQL INSERT INTO Consulta: Cómo agregar una fila en la tabla (ejemplo)

⚡ Resumen inteligente

MySQL La consulta INSERT INTO agrega nuevas filas a una tabla, ya sea nombrando explícitamente las columnas de destino o proporcionando un valor para cada columna. El correcto uso de comillas en cadenas, números y fechas determina si los datos almacenados se conservan intactos.

  • 📥 Sintaxis básica: INSERT INTO `table_name`(column_1,column_2) VALUES (value_1,value_2) crea una nueva fila en la tabla nombrada.
  • 🔤 Regla de citación: Los valores de cadena y de fecha requieren comillas simples; los valores numéricos se proporcionan sin comillas.
  • 0️⃣ Trampa de cero líder: Un número de teléfono sin comillas se lee como un número, por lo que el cero inicial se omite silenciosamente.
  • 🔀 Orden de las columnas: El orden de las columnas dentro de la consulta es irrelevante, siempre que cada valor se corresponda con su columna respectiva.
  • 🕳️ Columnas omitidas: Las columnas que no se incluyen en la instrucción reciben NULL o su valor predeterminado declarado.
  • 📑 Mesa a mesa: INSERT INTO … SELECT copia filas entre tablas cuando las estructuras de las columnas coinciden.

¿Qué es INSERTAR EN?

Insertar en Se utiliza para almacenar datos en las tablas. El comando INSERT crea una nueva fila en la tabla para almacenar los datos. Estos datos suelen ser proporcionados por programas de aplicación que se ejecutan sobre la base de datos.

Sintaxis básica

Veamos la sintaxis básica de INSERT INTO MySQL mando:

INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);

AQUÍ

  • INSERT INTO `table_name` es el comando que le dice MySQL servidor para agregar una nueva fila a una tabla llamada `table_name.`
  • (columna_1,columna_2,…) especifica las columnas que se actualizarán en el nuevo MySQL fila
  • VALORES (valor_1, valor_2,…) especifica los valores que se agregarán a la nueva fila

Al suministrar los valores de datos que se insertarán en la nueva tabla, se debe tener en cuenta lo siguiente:

  • Tipos de datos de cadena: todos los valores de cadena deben estar entre comillas simples.
  • Tipos de datos numéricos: todos los valores numéricos deben proporcionarse directamente sin encerrarlos entre comillas simples o dobles.
  • Tipos de datos de fecha: incluya los valores de fecha entre comillas simples en el formato "AAAA-MM-DD".

Insertar varias filas a la vez

Una sola instrucción INSERT puede contener varias filas. Separe cada conjunto de valores con una coma. Una sola instrucción es más rápida que varias, ya que el índice se actualiza una sola vez.

INSERT INTO `categories`(`category_name`,`remarks`) VALUES
('Documentary', 'Factual films'),
('Musical', 'Song driven films');

MySQL Ejemplo de consulta INSERT INTO

Supongamos que tenemos la siguiente lista de nuevos miembros de la biblioteca que deben agregarse a la base de datos.

Nombres completos Fecha de nacimiento género Dirección física Dirección postal Número de teléfono Dirección de Correo Electrónico
leonard hofstadter Hombre Woodcrest 0845738767
Sheldon Cooper Hombre Woodcrest 0976736763
Rajesh Koothrappali Hombre Woodcrest 0938867763
Leslie Winkel 14/02/1984 Hombre Woodcrest 0987636553
Howard Wolowitz 24/08/1981 Hombre Parque del Sur PO Box 4563 0987786553 lwolowitz@email.me

Insertaremos los datos fila por fila, comenzando con Leonard Hofstadter. Trataremos el número de contacto como un dato numérico y no lo encerraremos entre comillas simples.

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);

Al ejecutar el script anterior, se elimina el 0 del número de contacto de Leonard, ya que el valor se trata como numérico y un cero inicial no es significativo.

Para evitar este tipo de problemas, el valor debe ir entre comillas simples, como se muestra a continuación.

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');

⚠️ Consejo: Almacene los números de teléfono, códigos postales e identificadores similares en una columna de texto, como VARCHAR. Las columnas numéricas no pueden contener ceros iniciales.

Cambiar el orden de las columnas

Cambiar el orden de las columnas no tiene ningún efecto en la consulta INSERT en MySQL, siempre y cuando los valores correctos se hayan asignado a las columnas correctas. La siguiente consulta demuestra este punto.

INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');

Las consultas anteriores omitieron la columna de fecha de nacimiento. Por defecto, MySQL Inserta valores NULL en las columnas que se omiten en la consulta INSERT.

Ahora insertemos el registro de Leslie, que incluye la fecha de nacimiento. El valor de la fecha debe ir entre comillas simples con el formato 'AAAA-MM-DD'.

INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');

Omitir la lista de columnas

Todas las consultas anteriores nombraron las columnas y las asignaron a valores. Si proporcionamos valores para TODAS las columnas de la tabla, la lista de columnas se puede omitir. MySQL insertar consulta.

INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24',
'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');

Ahora usemos el Instrucción SELECT para ver todas las filas en la tabla de miembros.

SELECT * FROM `members`;
número de socio nombres completos género fecha de nacimiento dirección física direccion postal número de contacto o enviar un email.
1 Janet jones Mujer 21-07-1980 Primera Calle Parcela No 4 Bolsa privada 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Mujer 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Roberto Phil Hombre 12-07-1989 Calle 3 34 NULL 12345 rm@tstreet.com
4 gloria williams Mujer 14-02-1984 Calle 2 23 NULL NULL NULL
5 leonard hofstadter Hombre NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Hombre NULL Woodcrest NULL 0976736763 NULL
7 Rajesh Koothrappali Hombre NULL Woodcrest NULL 0938867763 NULL
8 Leslie Winkel Hombre 14-02-1984 Woodcrest NULL 0987636553 NULL
9 Howard Wolowitz Hombre 24-08-1981 Parque del Sur PO Box 4563 0987786553 lwolowitz@email.me

Observe que el número de contacto de Leonard Hofstadter ha perdido el cero inicial, tal como se predijo. Los números citados lo conservan.

Insertar en una tabla desde otra tabla

El comando INSERT también se puede utilizar para insertar datos en una tabla desde otra tabla. La sintaxis básica es la que se muestra a continuación.

INSERT INTO table_1 SELECT * FROM table_2;

Ahora crearemos una tabla ficticia para las categorías de películas, llamada categories_archive. El script a continuación crea la tabla.

CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))

Ejecuta el script anterior para crear la tabla. Ahora vamos a insertar todas las filas de la tabla de categorías en la tabla de archivo de categorías.

INSERT INTO `categories_archive` SELECT * FROM `categories`;

Las estructuras de las tablas deben ser idénticas para que ese script funcione. Un script más robusto asigna los nombres de las columnas de la tabla de destino a los de la tabla que contiene los datos, como se muestra a continuación.

INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;

Al ejecutar la siguiente consulta SELECT se obtienen los siguientes resultados.

SELECT * FROM `categories_archive`;
categoria ID nombre de la categoría comentarios
1 Comedia Películas con humor
2 Romántico Historias de amor
3 Épico Películas antiguas de historia.
4 Horror NULL
5 Ciencia ficción NULL
6 Suspenso NULL
7 Acción: NULL
8 Comedia romántica NULL
9 Dibujos animados NULL
10 Dibujos animados NULL

Ejemplo PHP: Insertar en MySQL Tabla

La función mysqli_query se utiliza para ejecutar SQL Consultas desde PHP. Ejecuta sentencias Insert, Select, Update y Delete por igual, y tiene la siguiente sintaxis.

mysqli_query($db_handle,$query);

AQUÍ,

  • “mysqli_query(…)” es la función que ejecuta las consultas SQL.
  • “$query” es la consulta SQL que se va a ejecutar.
  • “$db_handle” es el enlace de conexión al servidor que devuelve mysqli_connect.

Ejemplo

$servername = "localhost";
$username = "alex";
$password = "yPXuPT";
$dbname = "afmznf";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully" . '<br>';
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

Preguntas Frecuentes

MySQL Lo rechaza con un error de entrada duplicada. Use INSERT IGNORE para omitir la fila silenciosamente, o INSERT … ON DUPLICATE KEY UPDATE para actualizar la fila existente.

Ejecuta SELECT LAST_INSERT_ID() inmediatamente después de la inserción, o llama a mysqli_insert_id($conn) en PHP. Devuelve la clave AUTO_INCREMENT generada para la última fila en tu propia conexión.

Nunca concatene la entrada del usuario en la cadena de consulta. Utilice sentencias preparadas con parámetros vinculados, de modo que los valores viajen por separado de la SQL y no se pueden ejecutar como comandos.

Sí. Los asistentes de IA convierten hojas de cálculo o descripciones simples en sentencias INSERT y MySQL Banco de trabajo Se pueden ejecutar. Compruebe el orden de las columnas y las comillas, ya que un modelo puede adivinar el esquema.

Primero, insértelo en una copia de desarrollo. Las filas generadas por IA pueden romper claves foráneas, exceder la longitud de las columnas o generar fechas no válidas. Ejecute el lote dentro de una transacción para poder revertirla.

Resumir este post con: