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