MySQL TRUNCATE TABLE

Sammanfattning: I den här handledningen lär du dig hur du använder MySQL TRUNCATE TABLE-angivelsen för att radera alla data i en tabell.

Introduktion till MySQL TRUNCATE TABLE-anvisningen

Med MySQL TRUNCATE TABLE-anvisningen kan du radera alla data i en tabell.

Logiskt sett är TRUNCATE TABLE-anvisningen som en DELETE-anvisning utan WHERE-klausul som raderar alla rader från en tabell, eller en sekvens av DROP TABLE– och CREATE TABLE-anvisningar.

Det är dock så att TRUNCATE TABLE-anvisningen är effektivare än DELETE-anvisningen eftersom den släpper och återskapar tabellen i stället för att radera rader en efter en.

Här är den grundläggande syntaxen för TRUNCATE TABLE-anvisningen:

Code language: SQL (Structured Query Language) (sql)

I den här syntaxen anger du namnet på den tabell som du vill ta bort alla data efter TRUNCATE TABLE-nyckelorden.

Nyckelordet TABLE är valfritt. Det är dock bra att använda nyckelordet TABLE för att skilja mellan TRUNCATE TABLE-anvisningen och TRUNCATE()-funktionen.

Om det finns några FOREIGN KEY-begränsningar från andra tabeller som refererar till tabellen som du trunkerar kommer TRUNCATE TABLE-anvisningen att misslyckas.

En trunkeringsoperation orsakar en implicit bekräftelse och kan därför inte rullas tillbaka.

Skrivningen TRUNCATE TABLEåterställer värdet i kolumnen AUTO_INCREMENT till sitt startvärde om tabellen har en AUTO_INCREMENT-kolumn.

Den TRUNCATE TABLE-angivelsen utlöser inte DELETE-utlösare som är associerade med den tabell som trunkeras.

Till skillnad från en DELETE-angivelse är antalet rader som påverkas av TRUNCATE TABLE-angivelsen 0, vilket ska tolkas som att det inte finns någon information.

MySQL TRUNCATE TABLE exempel

Låt oss ta ett exempel på att använda TRUNCATE TABLE-anvisningen.

Skapa först en ny tabell som heter books för demonstrationen:

Code language: SQL (Structured Query Language) (sql)

Nästan infogar du dummy-data till books-tabellen med hjälp av följande lagrade procedur:

Code language: SQL (Structured Query Language) (sql)

Därefter laddar du 10 000 rader i books-tabellen. Det kommer att ta ett tag.

Code language: SQL (Structured Query Language) (sql)

Efter det kontrollerar du data i tabellen books:

Code language: SQL (Structured Query Language) (sql)

Slutligen använder du TRUNCATE TABLE-anvisningen för att ta bort alla rader från tabellen books:

Code language: SQL (Structured Query Language) (sql)

Notera att du kan jämföra prestandan mellan TRUNCATE TABLE och DELETE-anvisningen.

I den här handledningen har du lärt dig hur du använder MySQL TRUNCATE TABLE-anvisningen för att ta bort alla data från en tabell på ett effektivt sätt, särskilt för en stor tabell.

  • Har den här handledningen varit till hjälp?
  • JaNej

Lämna ett svar

Din e-postadress kommer inte publiceras.