MYSQL - ZMIEŃ, UPUŚĆ, ZMIEŃ NAZWĘ, ZMIEŃ

Anonim

CZYM JEST ALTERNE POLECENIE?

Jak to się mówi, zmiana jest jedyną stałą

Z czasem zmieniają się również wymagania biznesowe. Ponieważ zmieniają się wymagania biznesowe, projekty baz danych również wymagają zmian.

MySQL udostępnia funkcję ALTER, która pomaga nam wprowadzać zmiany do już istniejącego projektu bazy danych .

Polecenie alter służy do modyfikowania istniejącej bazy danych, tabeli, widoku lub innych obiektów bazy danych, które mogą wymagać zmiany w trakcie cyklu życia bazy danych.

Załóżmy, że zakończyliśmy projekt naszej bazy danych i został on wdrożony. Korzystają z niej nasi użytkownicy baz danych, a następnie zdają sobie sprawę, że niektóre istotne informacje zostały pominięte na etapie projektowania. Nie chcą stracić istniejących danych, ale chcą po prostu uwzględnić nowe informacje. W takich sytuacjach przydaje się polecenie alter. Możemy użyć polecenia alter, aby zmienić typ danych pola z powiedzmy ciąg na numeryczny, zmienić nazwę pola na nową nazwę, a nawet dodać nową kolumnę w tabeli.

Alter- składnia

Poniżej przedstawiono podstawową składnię używaną do dodawania kolumny do już istniejącej tabeli

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

TUTAJ

  • „ALTER TABLE„ nazwa_tabeli ” to polecenie, które mówi serwerowi MySQL, aby zmodyfikował tabelę o nazwie„ nazwa_tabeli ”.
  • „DODAJ KOLUMNĘ„ nazwa_kolumny ”„ typ_danych ” to polecenie, które mówi serwerowi MySQL, aby dodał nową kolumnę o nazwie„ nazwa_kolumny ”z typem danych„ typ_danych ”.

Załóżmy, że Myflix wprowadził fakturowanie i płatności online. W tym celu zostaliśmy poproszeni o dodanie pola na numer karty kredytowej w naszej tabeli członków. W tym celu możemy użyć polecenia ALTER. Najpierw przyjrzyjmy się strukturze tabeli członków, zanim wprowadzimy jakiekolwiek poprawki. Poniższy skrypt pomaga nam to zrobić.

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

Możemy użyć poniższego skryptu, aby dodać nowe pole do tabeli członków.

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

Wykonanie powyższego skryptu w MySQL względem Myflixdb dodaje nową kolumnę o nazwie numer karty kredytowej do tabeli członków z VARCHAR jako typem danych. Wykonanie skryptu pokaż kolumny daje nam następujące wyniki.

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 widać na podstawie zwróconych wyników, numer karty kredytowej został dodany do tabeli członków. Dodanie nowej kolumny nie ma wpływu na dane zawarte w danych członków.

CO TO JEST ROZKAZ DROP?

Do tego służy polecenie DROP

  1. Usuń bazę danych z serwera MySQL
  2. Usuń obiekt (np. Tabelę, kolumnę) z bazy danych.

Przyjrzyjmy się teraz praktycznym przykładom, które wykorzystują polecenie DROP.

W naszym poprzednim przykładzie dotyczącym polecenia Zmień, dodaliśmy kolumnę o nazwie numer karty kredytowej do tabeli członków.

Załóżmy, że funkcja fakturowania online zajmie trochę czasu i chcemy UPUSZCZAĆ kolumnę karty kredytowej

Możemy skorzystać z następującego skryptu

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Wykonanie powyższego skryptu powoduje usunięcie kolumny numer_karty_kredytowej z tabeli członków

Spójrzmy teraz na kolumny w tabeli członków, aby potwierdzić, czy nasza kolumna została usunięta.

SHOW COLUMNS FROM `members`;

Wykonanie powyższego skryptu w środowisku roboczym MySQL na myflixdb daje następujące wyniki.

 
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

Zwróć uwagę, że numer karty kredytowej został usunięty z listy pól.

DROP TABLE

Składnia DROP tabeli z bazy danych jest następująca -

DROP TABLE `sample_table`;

Spójrzmy na przykład

DROP TABLE `categories_archive`;

Wykonanie powyższego skryptu usuwa tabelę o nazwie `` Categories_archive '' z naszej bazy danych.

JAKIE JEST POLECENIE ZMIEŃ NAZWĘ?

Polecenie rename służy do zmiany nazwy istniejącego obiektu bazy danych (takiego jak tabela, kolumna) na nową nazwę .

Zmiana nazwy tabeli nie powoduje utraty zawartych w niej danych.

Składnia:-

Polecenie rename ma następującą podstawową składnię.

RENAME TABLE `current_table_name` TO `new_table_name`;

Załóżmy, że chcemy zmienić nazwę tabeli movierentals na movie_rentals, możemy to osiągnąć za pomocą poniższego skryptu.

RENAME TABLE `movierentals` TO `movie_rentals`;

Wykonanie powyższego skryptu zmienia nazwę tabeli „movierentals” na „movie_rentals”.

Teraz zmienimy nazwę tabeli movie_rentals z powrotem na jej oryginalną nazwę.

RENAME TABLE `movie_rentals` TO `movierentals`;

ZMIEŃ SŁOWO KLUCZOWE

Zmiana słów kluczowych pozwala na to

  1. Zmień nazwę kolumny
  2. Zmień typ danych kolumny
  3. Zmień wiązania kolumn

Spójrzmy na przykład. Pole pełnych nazw w tabeli członków ma typ danych varchar i szerokość 150.

SHOW COLUMNS FROM `members`;

Wykonanie powyższego skryptu w środowisku roboczym MySQL na myflixdb daje następujące wyniki.

 
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

Przypuśćmy, że chcemy

  1. Zmień nazwę pola z „full_names” na „fullname”
  2. Zmień go na typ danych char o szerokości 250
  3. Dodaj ograniczenie NOT NULL

Możemy to osiągnąć za pomocą polecenia zmiany w następujący sposób -

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

Wykonanie powyższego skryptu w środowisku roboczym MySQL na myflixdb, a następnie wykonanie podanego powyżej skryptu pokazującego kolumny daje następujące wyniki.

 
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

ZMIEŃ SŁOWO KLUCZOWE

Słowo kluczowe MODIFY pozwala na to

  1. Zmień typ danych kolumny
  2. Modyfikuj wiązania słupa

W powyższym przykładzie CHANGE musieliśmy zmienić nazwę pola, a także inne szczegóły. Pominięcie nazwy pola w instrukcji CHANGE spowoduje wygenerowanie błędu. Załóżmy, że interesuje nas tylko zmiana typu danych i ograniczeń w polu bez wpływu na nazwę pola. Aby to osiągnąć, możemy użyć słowa kluczowego MODIFY.

Poniższy skrypt zmienia szerokość pola „imię i nazwisko” z 250 na 50.

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

Wykonanie powyższego skryptu w środowisku roboczym MySQL na myflixdb, a następnie wykonanie podanego powyżej skryptu pokazującego kolumny daje następujące wyniki pokazane poniżej.

 
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 SŁOWIE KLUCZOWYM

Załóżmy, że chcemy dodać nową kolumnę w określonej pozycji w tabeli.

Możemy użyć polecenia alter razem ze słowem kluczowym AFTER.

Poniższy skrypt dodaje „date_of_registration” zaraz po dacie urodzenia do tabeli członków.

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

Wykonanie powyższego skryptu w środowisku roboczym MySQL na myflixdb, a następnie wykonanie podanego powyżej skryptu pokazującego kolumny daje następujące wyniki pokazane poniżej.

 
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

Podsumowanie

  • Polecenie alter jest używane, gdy chcemy zmodyfikować bazę danych lub dowolny obiekt znajdujący się w bazie danych.
  • Polecenie drop służy do usuwania baz danych z serwera MySQL lub obiektów w bazie danych.
  • Polecenie rename służy do zmiany nazwy tabeli na nową nazwę tabeli.
  • Słowo kluczowe Change umożliwia zmianę nazwy kolumny, typu danych i ograniczeń
  • Zmodyfikuj słowo kluczowe umożliwia modyfikowanie typu danych kolumny i ograniczeń
  • Słowo kluczowe After służy do określenia pozycji kolumny w tabeli