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

Tabla de contenido:

Anonim

¿Qué es INSERT INTO?

INSERT INTO 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 en la parte superior de la base de datos.

Sintaxis básica

Veamos la sintaxis básica del comando INSERT INTO MySQL:

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

AQUÍ

  • INSERT INTO `table_name` es el comando que le dice al servidor MySQL que agregue una nueva fila en una tabla llamada` table_name`
  • (column_1, column_2,…) especifica las columnas que se actualizarán en la nueva fila de MySQL
  • VALUES (value_1, value_2,…) especifica los valores que se agregarán en la nueva fila

Al proporcionar los valores de datos que se insertarán en la nueva tabla, se debe considerar lo siguiente:

  • Tipos de datos de cadena: todos los valores de cadena deben ir 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:

Suponga 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 direccion postal Número de contacto Dirección de correo electrónico
Leonard Hofstadter Masculino Woodcrest 0845738767
Sheldon Cooper Masculino Woodcrest 0976736763
Rajesh Koothrappali Masculino Fairview 0938867763
Leslie Winkle 14/02/1984 Masculino 0987636553
Howard Wolowitz 24/08/1981 Masculino parque del Sur Apartado de correos 4563 0987786553 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.

Insertemos los datos uno por uno. Empezaremos por Leonard Hofstadter. Trataremos el número de contacto como un tipo de datos numérico y no incluiremos el número entre comillas simples.

INSERT INTO `miembros` (` nombres_completos`, `género`,` dirección_física`, `número_contacto`) VALORES ('Leonard Hofstadter', 'Hombre', 'Woodcrest', 0845738767);

La ejecución del script anterior 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 descarta porque no es significativo.

Para evitar tales problemas, el valor debe incluirse entre comillas simples como se muestra a continuación:

INSERT INTO `miembros` (` nombres_completos`, `género`,` dirección_física`, `número_contacto`) VALORES ('Sheldon Cooper', 'Hombre', 'Woodcrest', '0976736763'); 

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

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 `miembros` (` número_contacto`, `género`,` nombres_completos`, `dirección_física`) VALORES ('0938867763', 'Hombre', 'Rajesh Koothrappali', 'Woodcrest');

Las consultas anteriores omitieron la columna de fecha de nacimiento. De forma predeterminada, MySQL insertará valores NULL en las columnas que se omiten en la consulta INSERT.

Insertemos ahora el registro de Leslie, que tiene la fecha de nacimiento proporcionada. El valor de la fecha debe ir entre comillas simples con el formato 'AAAA-MM-DD'.

INSERT INTO `miembros` (` nombres_completos`, `fecha_de_nacimiento`,` género`, `dirección_física`,` número_contacto`) VALORES ('Leslie Winkle', '1984-02-14', 'Hombre', 'Woodcrest', ' 0987636553 '); 

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

Ejemplo:-

INSÉRTESE EN LOS VALORES de los miembros (9, 'Howard Wolowitz', 'Hombre', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [at] email.me') ;

Usemos ahora la 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 contct_ número Email
1 Janet Jones Mujer 21-07-1980 Parcela Primera Calle No 4 Bolsa privada 0759 253542 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
2 Janet Smith Jones Mujer 23-06-1980 Melrose 123 NULO NULO Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
3 Robert Phil Masculino 12-07-1989 3rd Street 34 NULO 12345 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
4 Gloria Williams Mujer 14-02-1984 2da calle 23 NULO NULO NULO
5 Leonard Hofstadter Masculino NULO Woodcrest NULO 845738767 NULO
6 Sheldon Cooper Masculino NULO Woodcrest NULO 976736763 NULO
7 Rajesh Koothrappali Masculino NULO Woodcrest NULO 938867763 NULO
8 Leslie Winkle Masculino 14-02-1984 Woodcrest NULO 987636553 NULO
9 Howard Wolowitz Masculino 24-08-1981 Parque del Sur Apartado de correos 4563 987786553 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.

Observe que el número de contacto de Leonard Hofstadter ha eliminado el cero (0) del número de contacto. Los otros números de contacto no han eliminado 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 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 categorías_archivo a la tabla de nuevas categorías. El script que se muestra a continuación crea la tabla.

CREATE TABLE `category_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 guión que se muestra a continuación nos ayuda a lograrlo.

INSERT INTO `categorías_archivo` SELECCIONAR * DE` categorías`; 

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 la tabla deberán ser las mismas para que funcione el script. Una secuencia de comandos más sólida es aquella que asigna los nombres de las columnas de la tabla de inserción a las de la tabla que contiene los datos.

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

INSERT INTO `categorías_archivo` (categoría_id, categoría_nombre, comentarios) SELECCIONAR categoría_id, categoría_nombre, observaciones DE` categorías`;

Ejecutando la consulta SELECT

SELECCIONAR * DE `categorías_archivo`

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 de historia antigua
4 Horror NULO
5 Ciencia ficción NULO
6 Novela de suspenso NULO
7 Acción NULO
8 Comedia romántica NULO
9 Dibujos animados NULO
10 Dibujos animados NULO

Ejemplo de PHP: Insertar en la tabla MySQL

La función mysqli_query se usa para ejecutar consultas SQL.

La función se puede utilizar para ejecutar los siguientes tipos de consultas;

  • Insertar
  • Seleccione
  • Actualizar
  • Eliminar

Tiene la siguiente sintaxis.

mysqli_query($db_handle,$query);

AQUÍ,

"mysqli_query (

…) "Es la función que ejecuta las consultas SQL.

"$ consulta" es la consulta SQL que se ejecutará

"$ link_identifier" es opcional, se puede usar 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 connectionif (!$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".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}

Resumen

  • 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 ir 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.