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;