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