SQL Truncate Table

时间:2020-02-23 14:32:36  来源:igfitidea点击:

SQL截断表

假设有一种情况,我们想要拥有数据库,但我们想要删除表中的数据。
在这种情况下,TRUNCATE命令仅用于删除表中的数据。
表结构将保持原样。

SQL TRUNCATE的语法

TRUNCATE TABLE <table_name>;

我们将尝试了解TRUNCATE命令在以下数据库中如何工作。

  • MySQL
  • PostgreSQL
  • SQL Server

MySQL截断表

让我们首先创建一个Teacher表,然后将数据插入表中,如下所示。

创建表:

CREATE TABLE `teacher` ( `TeacherId` INT NOT NULL, `TeacherName` VARCHAR(45) NULL, `State` VARCHAR(45) NULL, `Country` VARCHAR(45) NULL, PRIMARY KEY (`TeacherId`), UNIQUE INDEX `TeacherId_UNIQUE` (`TeacherId` ASC) VISIBLE);

插入数据:

Insert into Teacher(TeacherId,TeacherName,State,Country) VALUES (1, 'Amit','Bengaluru','San Franceco'), (2, 'Harry','Texas','US'), (3, 'John','London','UK'), (4, 'Rohit','Delhi','San Franceco');

让我们使用以下查询验证表创建和数据插入是否工作正常。

Select * from teacher;

现在,我们将使用以下命令截断表的数据。

TRUNCATE TABLE teacher;

我们将使用以下查询重新检查表中数据是否仍然存在。

Select * from Teacher;

PostgreSQL截断表

我们将在PostgreSQL表中创建相同的表

创建表:

CREATE TABLE public."Teacher"
(
"TeacherId" bigint,
"TeacherName" character varying,
"State" character varying,
"Country" character varying,
PRIMARY KEY ("TeacherId")
)
Insert Data: -
INSERT INTO public."Teacher"(
	"TeacherId", "TeacherName", "State", "Country")
	VALUES  (1, 'Amit','Bengaluru','San Franceco'), (2, 'Harry','Texas','US'), (3, 'John','London','UK'), (4, 'Rohit','Delhi','San Franceco');

让我们使用以下查询验证表创建和数据插入是否工作正常。

Select * from teacher;

现在,我们将使用以下命令截断表的数据。

TRUNCATE TABLE teacher;

我们将使用以下查询重新检查表中数据是否仍然存在。

Select * from Teacher;

SQL Server截断表

我们已经创建了表,并使用以下命令插入了数据。

创建表:

CREATE TABLE teacher ( TeacherId INT NOT NULL, TeacherName VARCHAR(45) NULL, State VARCHAR(45) NULL, Country VARCHAR(45) NULL, PRIMARY KEY (TeacherId));

插入数据:

Insert into Teacher(TeacherId,TeacherName,State,Country) VALUES (1, 'Amit','Bengaluru','San Franceco'), (2, 'Harry','Texas','US'), (3, 'John','London','UK'), (4, 'Rohit','Delhi','San Franceco');

让我们使用以下查询验证表创建和数据插入是否工作正常。

Select * from teacher;

现在,我们将使用以下命令截断表的数据。

TRUNCATE TABLE teacher;

我们将使用以下查询重新检查表中的数据。

Select * from Teacher;