Shrnutí: v tomto kurzu se naučíte používat příkaz MySQL TRUNCATE TABLE
k odstranění všech dat v tabulce.
Úvod do příkazu MySQL TRUNCATE TABLE
Příkaz MySQL TRUNCATE TABLE
umožňuje odstranit všechna data v tabulce.
Logicky se příkaz TRUNCATE TABLE
podobá příkazu DELETE
bez klauzule WHERE
, který odstraní všechny řádky tabulky, nebo posloupnosti příkazů DROP TABLE
a CREATE TABLE
.
Příkaz TRUNCATE TABLE
je však efektivnější než příkaz DELETE
, protože tabulku zruší a znovu vytvoří, místo aby mazal řádky jeden po druhém.
Zde je základní syntaxe příkazuTRUNCATE TABLE
:
Code language: SQL (Structured Query Language) (sql)
V této syntaxi zadáváte za klíčová slova TRUNCATE TABLE
název tabulky, ze které chcete odstranit všechna data.
Klíčové slovo TABLE
je nepovinné. Klíčové slovo TABLE
je však vhodné použít, aby se rozlišilo mezi příkazem TRUNCATE TABLE
a funkcí TRUNCATE()
.
Pokud existují nějaká omezení FOREIGN KEY
z jiných tabulek, která odkazují na tabulku, kterou zkracujete, příkaz TRUNCATE TABLE
selže.
Protože operace zkrácení způsobí implicitní revizi, nelze ji proto vrátit zpět.
Příkaz TRUNCATE TABLE
obnoví hodnotu ve sloupci AUTO_INCREMENT na počáteční hodnotu, pokud má tabulka sloupec AUTO_INCREMENT
.
Příkaz TRUNCATE TABLE
nespouští spouštěče DELETE
spojené s tabulkou, která je zkracována.
Na rozdíl od příkazu DELETE
je počet řádků ovlivněných příkazem TRUNCATE TABLE
0, což by mělo být interpretováno jako žádná informace.
Příklad příkazu MySQL TRUNCATE TABLE
Uveďme si příklad použití příkazu TRUNCATE TABLE
.
Nejprve pro ukázku vytvořte novou tabulku s názvem books
:
Code language: SQL (Structured Query Language) (sql)
Poté do tabulky books
vložte fiktivní data pomocí následující uložené procedury:
Code language: SQL (Structured Query Language) (sql)
Poté do tabulky books
načtěte 10 000 řádků. Bude to chvíli trvat.
Code language: SQL (Structured Query Language) (sql)
Poté zkontrolujte data v tabulce books
:
Code language: SQL (Structured Query Language) (sql)
Nakonec použijte příkaz TRUNCATE TABLE
k odstranění všech řádků z tabulky books
:
Code language: SQL (Structured Query Language) (sql)
Všimněte si, že můžete porovnat výkon mezi příkazem TRUNCATE TABLE
s příkazem DELETE
.
V tomto návodu jste se naučili používat příkaz TRUNCATE TABLE
MySQL k efektivnímu odstranění všech dat z tabulky, zejména u velké tabulky.
- Pomohl vám tento návod?
- AnoNe