In MySQL, the INSERT INTO statement is essential for adding new data rows to a table in a database. This is important for setting up initial data in tables and for adding new records as needed when working with the database.
Understanding how to use the INSERT INTO statement is key for managing and ensuring the integrity and functionality of the database.
INSERT INTO StatementThe INSERT INTO
statement in MySQL is a Data Manipulation Language (DML) command that allows users to add new records (rows) into a specified table. It follows a concise syntax to specify the table name and the values to be inserted into the respective columns.
Let's look at Various ways of using the INSERT INTO statement, exploring how it can be used to add data efficiently to our table.
Syntax:
There are two ways to write an INSERT INTO statement in MySQL.
1. The general syntax for inserting a single record into a MySQL table using the SQL INSERT INTO command is as follows:
INSERT INTO table_name (column1, column2, ..., columnN)
VALUES (value1, value2, ..., valueN);
2. Use the following statement to insert multiple records with a single command:
INSERT INTO table_name (column1, column2, ..., columnN)Demo MySQL Database
VALUES
(value1_1, value1_2, ..., value1_N),
(value2_1, value2_2, ..., value2_N),
...,
(valueM_1, valueM_2, ..., valueM_N);
Write the following command to create an empty table on which we will perform the INSERT INTO.
CREATE TABLE employees (INSERT Statement Examples
name VARCHAR(50),
age INT,
department VARCHAR(50)
);
Let's look at the examples of the INSERT INTO statement, to understand the workings of INSERT INTO statement, and cover its different use cases.
Example 1: MySQL INSERT INTO Table Single RowTo insert a single record into a table, specify the table name and provide values for each column in the order they appear in the table.
Syntax:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Query:
-- Insert single record into the employees table
INSERT INTO employees (name, age, department)
VALUES ('John Doe', 30, 'IT');-- Select all records from the employees table
select * from employees;
Output:
name
age
department
John Doe
30
IT
Explanation: This syntax inserts a single row of data into the 'employees' table. You specify the table name and the columns into which you want to insert data, followed by the corresponding values. In this example, we insert the name 'John Doe', age '30', and department 'IT' into the respective columns.
Example 2: MySQL INSERT INTO table Multiple RowsMySQL allows inserting multiple rows of data in a single query. It is reducing the overhead of executing multiple queries. The syntax is similar to inserting a single row but with multiple sets of values enclosed within parentheses and separated by commas
Syntax:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES
(value1_1, value1_2, value1_3, ...),
(value2_1, value2_2, value2_3, ...),
(value3_1, value3_2, value3_3, ...);
Query:
-- Insert multiple records into the employees table
INSERT INTO employees (name, age, department)
VALUES
('Jane Smith', 28, 'HR'),
('Michael Johnson', 35, 'Finance'),
('Emily Brown', 32, 'Marketing');-- Select all records from the employees table
SELECT * FROM employees;
Output:
name
age
department
Jane Smith
28
HR
Michael Johnson
35
Finance
Emily Brown
32
Marketing
Explanation: This syntax allows you to insert multiple rows of data into the 'employees' table in a single query. Each set of values represents a separate row to be inserted. In this example, we insert three new employees into the table with their respective details.
Example 3: MySQL INSERT INTO SELECTSometimes, We may need to insert data into a table based on the results of a SELECT query. MySQL facilitates this through the INSERT INTO SELECT statement. This statement selects data from one table and inserts it into another
Syntax:
INSERT INTO table_name (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM another_table
WHERE condition;
Query:
-- Create the employees table
CREATE TABLE employees (
name VARCHAR(50),
age INT,
department VARCHAR(50)
);-- Insert multiple records into the employees table
INSERT INTO employees (name, age, department)
VALUES
('Jane Smith', 28, 'HR'),
('Michael Johnson', 35, 'Finance'),
('Emily Brown', 32, 'Marketing');-- Create the employees_backup table
CREATE TABLE employees_backup (
name VARCHAR(50),
age INT,
department VARCHAR(50)
);-- Insert records into the employees_backup table where age > 30
INSERT INTO employees_backup (name, age, department)
SELECT name, age, department
FROM employees
WHERE age > 30;-- Select all records from the employees table
SELECT * FROM employees_backup;
Output:
name age department Michael Johnson 35 Finance Emily Brown 32 MarketingExplanation: This syntax inserts data into the 'employees_backup' table based on the results of a SELECT query. In this example, we select employees from the 'employees' table where the age is greater than 30 and insert their details into the 'employees_backup' table.
Example 4: MySQL INSERT INTO DATEInserting date values into a MySQL database is a common requirement. MySQL provides several date and time functions to handle date-related operations efficiently. To insert the current date into a date column, we can use the NOW() function with MySQL Insert Date.
Syntax:
INSERT INTO table_name (date_column)
VALUES (NOW());
Query:
INSERT INTO orders (order_date)
VALUES (NOW());
Output:
2024-02-20 12:00:00
Explanation: To insert the current date into a date column, you can use the NOW() function within the INSERT INTO statement. This example inserts the current date into the 'order_date' column of the 'orders' table.
ConclusionIn conclusion, INNER JOIN in MySQL is essential for combining rows from multiple tables based on a common column, ensuring only matching rows are included in the results. This article has explained the basic syntax and usage, showing examples with GROUP BY, HAVING, WHERE, and USING clauses. Mastering INNER JOIN allows you to perform complex queries and manage database information efficiently, making it a crucial skill for effective database management.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4