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