The SQL TRUNCATE TABLE
statement is used to remove all rows from a table, effectively resetting the table to its empty state while preserving its structure. This operation is faster than using the DELETE
statement without a WHERE
clause because it does not generate individual row delete actions.
TRUNCATE TABLE table_name;
TRUNCATE TABLE
: This is the SQL keyword used to delete all rows from a table.table_name
: This specifies the name of the table you want to truncate.Let's go through a complete example that includes creating a database, creating a table, inserting data into the table, and then truncating the table.
This step involves creating a new database where the table will be stored.
CREATE DATABASE example_db;
In this example, we create a database named example_db
.
In this step, we create a table named employees
within the previously created database.
USE example_db;
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100),
hire_date DATE
);
Here, we define the employees
table with columns for id
, first_name
, last_name
, email
, and hire_date
. The id
column is set as the primary key and will auto-increment.
This step involves inserting some sample data into the employees
table.
INSERT INTO employees (first_name, last_name, email, hire_date) VALUES ('John', 'Doe', 'john.doe@example.com', '2023-01-01');
INSERT INTO employees (first_name, last_name, email, hire_date) VALUES ('Jane', 'Smith', 'jane.smith@example.com', '2023-02-01');
Here, we insert two rows of data into the employees
table.
This step involves removing all rows from the employees
table, effectively resetting it.
TRUNCATE TABLE employees;
This command will delete all rows from the employees
table, leaving it empty but still retaining its structure.
To verify that the table has been truncated, you can use the following command to select all rows:
SELECT * FROM employees;
This command will return an empty result set, confirming that all rows have been removed.