MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

CO JE ZMĚNĚNÝ PŘÍKAZ?

Jak se říká, změna je jediná konstanta

Postupem času se mění i obchodní požadavky. Jak se mění obchodní požadavky, musí se měnit i návrhy databází.

MySQL poskytuje funkci ALTER, která nám pomáhá začlenit změny do již existujícího návrhu databáze .

Příkaz alter se používá k úpravě existující databáze, tabulky, pohledu nebo jiných databázových objektů, které by se mohly během životního cyklu databáze změnit.

Předpokládejme, že jsme dokončili náš návrh databáze a byl implementován. Používají ji naši uživatelé databáze a poté si uvědomí, že některé důležité informace byly ve fázi návrhu vynechány. Nechtějí přijít o existující data, ale chtějí pouze začlenit nové informace. Příkaz alter se v takových situacích hodí. Příkaz alter můžeme použít ke změně datového typu pole z řekněme řetězce na numerický, ke změně názvu pole na nový název nebo dokonce přidání nového sloupce do tabulky.

Změna syntaxe

Níže je uvedena základní syntaxe použitá k přidání sloupce do již existující tabulky

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

TADY

  • "ALTER TABLE` table_name` " je příkaz, který říká serveru MySQL, aby upravil tabulku s názvem` table_name`.
  • „ADD COLUMN` column_name` `data_type`“ je příkaz, který říká serveru MySQL, aby přidal nový sloupec s názvem `column_name` s datovým typem` data_type '.

Předpokládejme, že Myflix zavedl online fakturaci a platby. Za tímto účelem jsme byli požádáni, abychom do tabulky členů přidali pole pro číslo kreditní karty. K tomu můžeme použít příkaz ALTER. Nejprve se podívejme na strukturu tabulky členů, než provedeme jakékoli změny. K tomu nám pomáhá níže zobrazený skript.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Pomocí níže uvedeného skriptu můžeme do tabulky členů přidat nové pole.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Provedení výše uvedeného skriptu v MySQL proti Myflixdb přidá do tabulky členů nový sloupec s názvem číslo kreditní karty s datovým typem VARCHAR. Spuštění skriptu zobrazení sloupců nám dává následující výsledky.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

Jak vidíte z vrácených výsledků, do tabulky členů bylo přidáno číslo kreditní karty. Přidání nového sloupce nemá vliv na data obsažená v datech členů.

CO JE DROP COMMAND?

Příkaz DROP je zvyklý

  1. Odstraňte databázi ze serveru MySQL
  2. Odstraňte objekt (například tabulku, sloupec) z databáze.

Podívejme se nyní na praktické příklady, které využívají příkaz DROP.

V našem předchozím příkladu v příkazu Alter jsme do tabulky členů přidali sloupec s názvem číslo kreditní karty.

Předpokládejme, že funkce online fakturace bude nějakou dobu trvat a chceme DROP sloupec kreditní karty

Můžeme použít následující skript

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Provedení výše uvedeného skriptu zruší sloupec credit_card_number z tabulky členů

Pojďme se nyní podívat na sloupce v tabulce členů a ověřit, zda byl náš sloupec zrušen.

SHOW COLUMNS FROM `members`;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb nám dává následující výsledky.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Všimněte si, že číslo kreditní karty bylo zrušeno ze seznamu polí.

DROP TABULKA

Syntaxe DROP tabulky z databáze je následující -

DROP TABLE `sample_table`;

Podívejme se na příklad

DROP TABLE `categories_archive`;

Spuštění výše uvedeného skriptu odstraní z naší databáze tabulku s názvem `category_archive`.

CO JE PŘÍKAZ PŘEJMENU?

Příkaz rename se používá ke změně názvu existujícího databázového objektu (jako je tabulka, sloupec) na nový název .

Přejmenováním tabulky nedojde ke ztrátě veškerých dat v ní obsažených.

Syntax:-

Příkaz přejmenování má následující základní syntaxi.

RENAME TABLE `current_table_name` TO `new_table_name`;

Předpokládejme, že chceme přejmenovat tabulku movierentals na film_rentals, abychom toho dosáhli pomocí níže uvedeného skriptu.

RENAME TABLE `movierentals` TO `movie_rentals`;

Provedení výše uvedeného skriptu přejmenuje tabulku `movierentals` na` film_rentals`.

Nyní přejmenujeme tabulku movie_rentals zpět na její původní název.

RENAME TABLE `movie_rentals` TO `movierentals`;

ZMĚNA KLÍČOVÉHO SLOVA

Změna klíčových slov vám umožňuje

  1. Změňte název sloupce
  2. Změnit datový typ sloupce
  3. Změňte omezení sloupců

Podívejme se na příklad. Pole celých jmen v tabulce členů je datového typu varchar a má šířku 150.

SHOW COLUMNS FROM `members`;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb nám dává následující výsledky.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Předpokládejme, že chceme

  1. Změňte název pole z „full_names“ na „fullname
  2. Změňte jej na datový typ char o šířce 250
  3. Přidejte omezení NOT NULL

Můžeme toho dosáhnout pomocí příkazu change následujícím způsobem -

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb a následné provedení výše uvedeného skriptu ukázat sloupce poskytuje následující výsledky.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ZMĚNTE KLÍČOVÉ SLOVO

Klíčové slovo MODIFY vám to umožňuje

  1. Upravit datový typ sloupce
  2. Upravit omezení sloupců

Ve výše uvedeném příkladu ZMĚNA jsme museli změnit název pole i další podrobnosti. Vynechání názvu pole z příkazu CHANGE vygeneruje chybu. Předpokládejme, že nás zajímá pouze změna datového typu a omezení v poli bez ovlivnění názvu pole, můžeme k tomu použít klíčové slovo MODIFY.

Níže uvedený skript mění šířku pole „celé jméno“ z 250 na 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb a následné provedení výše uvedeného skriptu ukázat sloupce poskytuje následující výsledky uvedené níže.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

PO KLÍČOVÉM SLOVU

Předpokládejme, že chceme přidat nový sloupec na konkrétní pozici v tabulce.

Můžeme použít příkaz alter společně s klíčovým slovem AFTER.

Skript níže přidává „date_of_registration“ hned za datum narození v tabulce členů.

ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb a následné provedení výše uvedeného skriptu ukázat sloupce poskytuje následující výsledky uvedené níže.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

souhrn

  • Příkaz alter se používá, když chceme upravit databázi nebo jakýkoli objekt obsažený v databázi.
  • Příkaz drop se používá k odstranění databází ze serveru MySQL nebo objektů v databázi.
  • Příkaz rename se používá ke změně názvu tabulky na nový název tabulky.
  • Klíčové slovo Změnit vám umožňuje změnit název sloupce, datový typ a omezení
  • Modifikovat klíčové slovo vám umožňuje upravit datový typ a omezení sloupce
  • Klíčové slovo After se používá k určení polohy sloupce v tabulce