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

¿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 datos. Los 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".


Ejemplo:

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 contacto Correo electrónico
leonard hofstadter Hombre Woodcrest 0845738767
Sheldon Cooper Hombre Woodcrest 0976736763
Rajesh Koothrappali Hombre Fairview 0938867763
Leslie Winkel 14/02/1984 Hombre 0987636553
Howard Wolowitz 24/08/1981 Hombre South Park PO Box 4563 0987786553 lwolowitz@email.me

INSERTEMOS los datos uno por uno. Empezaremos con Leonard Hofstadter. Trataremos el número de contacto como un tipo de datos numérico y no lo incluiremos 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. Esto se debe a que el valor se tratará como un valor numérico y el cero (0) al principio se eliminará porque no es significativo.

Para evitar tales problemas, el valor debe estar 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');

En el caso anterior, el cero (0) no se eliminará.


Cambiar el orden de las columnas no tiene ningún efecto en la consulta INSERT en MySQL siempre que los valores correctos se hayan asignado a las columnas correctas.

La consulta que se muestra a continuación demuestra el punto anterior.

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 insertará valores NULL en las columnas que se omiten en la consulta INSERT.

Ahora insertemos el registro de Leslie, que tiene la fecha de nacimiento proporcionada. El valor de la fecha debe estar entre comillas simples utilizando 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');

Todas las consultas anteriores especificaron las columnas y las asignaron a valores en el MySQL insertar declaración. Si proporcionamos valores para TODAS las columnas de la tabla, entonces podemos omitir las columnas de la tabla. MySQL insertar consulta.

Ejemplo:-

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

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

SELECT * FROM `members`;
número de socio nombres completos género fecha de nacimiento dirección física direccion postal número de contacto 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 eliminado el cero (0) del número de contacto. Los demás números de contacto no han bajado el cero (0) al principio.

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;

Veamos ahora un ejemplo práctico. Crearemos una tabla ficticia para categorías de películas con fines de demostración. Llamaremos a la nueva tabla de categorías categorías_archivo. El script que se muestra 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`))

Ejecute el script anterior para crear la tabla.

Insertemos ahora todas las filas de la tabla de categorías en la tabla de archivo de categorías. El script que se muestra a continuación nos ayuda a lograrlo.

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

Al ejecutar el script anterior, se insertan todas las filas de la tabla de categorías en la tabla de archivo de categorías. Tenga en cuenta que las estructuras de las tablas deben ser las mismas para que el script funcione. Un script más sólido es aquel que asigna los nombres de las columnas de la tabla de inserción a los de la tabla que contiene los datos.

La consulta que se muestra a continuación demuestra su uso.

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

Ejecutando la consulta SELECT

SELECT * FROM `categories_archive`

da los siguientes resultados que se muestran a continuación.

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 Mesa

La función mysqli_query se utiliza para ejecutar SQL consultas

La función de inserción SQL en tabla se puede utilizar para ejecutar los siguientes tipos de consultas:

  • recuadro
  • Seleccione
  • Actualizar
  • borrar

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 ejecutará

“$link_identifier” es opcional, se puede utilizar para pasar el enlace de conexión del servidor

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);
	}
}

Resum

  • El comando INSERT se utiliza para agregar nuevos datos a una tabla. MySql agregará una nueva fila una vez que se ejecute el comando.
  • Los valores de fecha y cadena deben estar entre comillas simples.
  • Los valores numéricos no necesitan estar entre comillas.
  • El comando INSERT también se puede utilizar para insertar datos de una tabla en otra.