Někdy může být nutné odstranit tabulku z databáze v MySQL. Můžete to snadno provést pomocí příkazu MySQL DROP TABLE. Zde je návod, jak zrušit tabulku v MySQL.
Jak zrušit tabulku v MySQL
Zde jsou kroky k odstranění tabulky v MySQL. K odstranění existujících tabulek v databázi použijeme příkaz MySQL DROP TABLE.
Zde je syntaxe příkazu DROP TABLE:
DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] ...[RESTRICT | CASCADE]
Příkaz DROP TABLE lze použít k odstranění jedné nebo více databázových tabulek.
Klíčové slovo TEMPORARY smaže pouze dočasné tabulky a zabrání smazání nedočasných tabulek.
Klíčové slovo IF EXISTS zruší tabulku pouze v případě, že existuje.
Upozorňujeme, že abyste mohli smazat tabulku MySQL, musíte mít oprávnění DROP TABLE.
Bonusové čtení:Jak získat záznam ode dneška v MySQL
MySQL DROP TABLE pro smazání jedné tabulky
Řekněme, že máte následující tabulku.
mysql> vytvořit tabulku objednávek (datum_objednávky, int prodeje);
Zde je příkaz MySQL DROP TABLE pro odstranění této tabulky.
mysql> DROP TABLE objednávky;
Pokud se pokusíte odstranit neexistující tabulku, zobrazí se varování:
mysql> zrušit objednávky tabulky;CHYBA 1051 (42S02):Neznámá tabulka 'sample.orders'
Bonusové čtení:Jak získat první záznam v každé skupině v MySQL
MySQL Drop více tabulek
Pokud máte ve stejné databázi více tabulek table1, table2, table3, pak je zde příkaz MySQL DROP TABLE k jejich odstranění
mysql> DROP TABLE tabulka1, tabulka2, tabulka3;
Bonusové čtení:Jak vytvořit zobrazení MySQL
MySQL DROP TABLE odpovídající vzor
Pokud máte více databázových tabulek a chcete smazat tabulky odpovídající určitému vzoru, jako je „objednávka“, nemůžete pro to přímo použít příkaz DROP TABLE MySQL. Například následující příkaz NEBUDE FUNGOVAT.
mysql> DROP TABLE jako 'order%';
Takže budeme muset použít work around. Řekněme, že máte v databázi tabulky orders1, orders2, order3.
mysql> vytvořit tabulku orders1(order_date date, sale int);mysql> create table orders2(order_date date, sale int);mysql> create table orders3(order_date date, sale int);
Nejprve vytvoříme dynamický řetězec SQL dotazu s názvy tabulek
SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schéma,'.',název_tabulky)),';')INTO @droplikeFROM information_schema.tablesWHERE @schema =databáze()AND název_tabulky LIKE @vzor;Výše uvedený dotaz dává MySQL pokyn, aby načetla názvy tabulek odpovídající vašemu požadovanému vzoru @vzor (např. objednávka %) z tabulky information_schema, která obsahuje seznam všech názvů tabulek ve vaší databázi @schéma (např. ukázka), a spojila je s 'DROP TABLE' . GROUP_CONCAT používáme k vytvoření seznamu názvů tabulek oddělených čárkami.
Tento dotaz uložíme do proměnné @droplike.
Dále nastavíme hodnoty proměnným @pattern a @schema a spustíme připravené příkazy vytvořené z proměnné @droplike.
mysql> SET @schema ='sample';mysql> SET @pattern ='order%';mysql> SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',název_tabulky)),';') DO @droplike FROM information_schema.tables WHERE @schema =database() AND table_name LIKE @pattern;mysql> select @droplike;+-------------------- ------------------------------------------+| @droplike |+---------------------------------------------- ---------------+| DROP TABLE vzorek.objednávky1,ukázkové.objednávky2,ukázkové.objednávky3; |+------------------------------------------------ -------------+PŘIPRAVIT OD OD @droplike;EXECUTE stmt;DEALOKOVAT PŘÍPRAVU stmt;
MySQL DROP All Tables
Podobně můžete zrušit všechny tabulky v databázi. Stačí odstranit A název_tabulky LIKE @pattern z příkazu select v @droplike výše
SET @schema ='sample';SELECT CONCAT('DROP TABLE IF EXISTS',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';') INTO @droplike FROM information_schema.tables WHERE @schema =databáze();
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!