SQL TRUNCATE TABLE
SQL TRUNCATE TABLE Statement
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.
Syntax
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.
Example
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.
Step 1: Creating a Database
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
.
Step 2: Creating a Table
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.
Step 3: Inserting Data into the Table
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.
Step 4: Truncating the 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.