¿Qué es INSERT INTO?
INSERTAR EN utilizado para almacenar datos en las tablas. El comando INSERT crea una nueva fila en la tabla para almacenar datos. Los programas de aplicación que se ejecutan en la parte superior de la base de datos suelen proporcionar los 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Í
- ENTER `table_name` el comando que le dice al servidor MySQL que agregue una fila a una tabla llamada` table_name`
- (column_1, column_2, …) especifica las columnas que se actualizarán en la nueva fila de MySQL
- VALORES (valor_1, valor_2, …) especifican los valores que se insertarán en la nueva fila
Al proporcionar los valores de datos que se ingresarán en la nueva tabla, se debe considerar lo siguiente:
- Tipos de datos de cadena: todos los valores de cadena deben incluirse entre comillas individuales.
- Tipos de datos numéricos: todos los valores numéricos deben proporcionarse directamente sin incluirlos entre comillas simples o dobles.
- Tipos de datos de fecha: ingrese los valores de fecha en comillas individuales en el formato ‘AAAA-MM-DD’.
Ejemplo:
Suponiendo que tengamos la siguiente lista de nuevos miembros de la biblioteca, es necesario agregarla 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. |
Enviamos los datos uno por uno. Comencemos con Leonard Hofstadter. Trataremos el número de contacto como un tipo de dato numérico y no incluiremos el número en citas individuales.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
El 0 cae del número de contacto de Leonard si se ejecuta el script anterior. Esto se debe a que el valor se tratará como un valor numérico y el cero (0) cae al principio, ya que no es significativo.
Para evitar tales problemas, el valor debe incluirse en cotizaciones individuales 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, cero no caerá (0)
Cambiar el orden de las columnas no tiene ningún efecto en la consulta INSERT en MySQL siempre que los valores correctos se asignen a las columnas correctas.
La pregunta que se muestra a continuación ilustra el punto anterior.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
Las preguntas anteriores arrojaron la columna de fecha de nacimiento. De forma predeterminada, MySQL insertará valores NULL en las columnas que se omiten en la consulta INSERT.
Entreguemos ahora el registro a Leslie, quien ha proporcionado la fecha de nacimiento. El valor de la fecha debe incluirse entre comillas individuales 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');
Cada una de las preguntas anteriores especificó las columnas y las asignó de acuerdo con los valores en la declaración de entrada de MySQL. Si proporcionamos valores para TODAS las columnas de la tabla, podemos omitir las columnas de la consulta en MySQL.
Ejemplo: –
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24',
'SouthPark','P.O. 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 | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Mujeres | 21-07-1980 | Primera parcela en la 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 | Mujeres | 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 | Mujeres | 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. |
Tenga en cuenta que el número de contacto de Leonard Hofstadter se redujo a cero (0) desde el número de contacto. Los otros números de contacto no bajaron a cero (0) al principio.
Insertar en tabla desde otra tabla
El comando INSERT también se puede usar para ingresar 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 las categorías de películas con fines de visualización. Daremos la tabla de categorías nuevas 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 de arriba para crear la tabla.
Ahora agreguemos 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 `categories_archive` SELECT * FROM `categories`;
Cuando se ejecuta el script anterior, todas las filas de la tabla de categorías se agregan a la tabla de archivo de categorías. Tenga en cuenta que las estructuras de la tabla deben ser las mismas para que funcione el script. Uno es un script más robusto que asigna los nombres de las columnas de la tabla a los de la tabla que contiene los datos.
La pregunta que se muestra a continuación indica su uso.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Ejecute la consulta SELECT
SELECT * FROM `categories_archive`
los siguientes resultados se dan a continuación.
categoria ID | nombre de la categoría | declaraciones |
---|---|---|
1 | Comedia | Películas con humor |
2 | Romántico | Historias de amor |
3 | Épico | Películas acient historia |
4 | Horror | NULO |
5 | Ciencia ficción | NULO |
6 | Un thriller | NULO |
7 | Acción | NULO |
8 | Comedia romántica | NULO |
9 | Dibujos animados | NULO |
10 | Dibujos animados | NULO |
Ejemplo de PHP: ingrese en la tabla MySQL
La función mysqli_query se usa para ejecutarlo SQL Preguntas.
La función se puede utilizar para ejecutar los siguientes tipos de consultas;
- Insertar
- Escoger
- Actualizar
- eliminado
Tiene la siguiente sintaxis.
mysqli_query($db_handle,$query);
AQUÍ,
«Mysqli_query (…)» es la función que ejecuta consultas SQL.
La consulta SQL para hacer es «$ consulta»
«$ 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); } }
Resumen
- El comando INSERT se usa para agregar nuevos datos a una tabla. MySql lanzará uno nuevo, una vez que se ejecute el comando.
- La fecha y los valores de las transferencias deben incluirse entre cotizaciones individuales.
- No es necesario incluir los valores numéricos entre comillas.
- El comando INSERT también se puede usar para ingresar datos de una tabla a otra tabla.