MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

MIS ON ALTER KÄSK?

Nagu öeldakse, on muutus ainus konstant

Aja jooksul muutuvad ka ärinõuded. Kui ärinõuded muutuvad, tuleb muuta ka andmebaaside kujundust.

MySQL pakub funktsiooni ALTER, mis aitab meil lisada muudatused juba olemasolevasse andmebaasi kujundusse .

Käsku alter kasutatakse olemasoleva andmebaasi, tabeli, vaate või muude andmebaasi objektide muutmiseks, mida võib andmebaasi olelusringi jooksul vaja muuta.

Oletame, et oleme oma andmebaasi kujunduse lõpule viinud ja see on rakendatud. Meie andmebaasi kasutajad kasutavad seda ja saavad siis aru, et osa elutähtsast teabest jäeti projekteerimisetapis välja. Nad ei taha olemasolevaid andmeid kaotada, vaid soovivad lihtsalt uue teabe lisada. Alternatiivkäsu tuleb sellistes olukordades kasuks. Saame kasutada käsku alter, et muuta välja andmetüüp ütlusstringist numbriliseks, muuta välja nimi uueks nimeks või isegi lisada tabelisse uus veerg.

Alter- süntaks

Põhisüntaks, mida kasutatakse veeru lisamiseks juba olemasolevasse tabelisse, on toodud allpool

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

SIIN

  • "ALTER TABLE" tabeli_nimi " on käsk, mis käsib MySQL-serveril muuta tabelit nimega" tabeli_nimi ".
  • "ADD COLUMN" veeru_nimi "data_type" on käsk, mis käsib MySQL-serveril lisada uue veeru nimega "column_name" andmetüübiga "data_type".

Oletame, et Myflix on tutvustanud veebiarveldusi ja makseid. Selle eesmärgi saavutamiseks paluti meil lisada meie liikmete tabelisse krediitkaardi numbri väli. Selleks saame kasutada käsku ALTER. Enne muudatuste tegemist vaatame kõigepealt liikmete tabeli struktuuri. Allpool toodud skript aitab meil seda teha.

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

Uue välja lisamiseks liikmete tabelisse saame kasutada allpool näidatud skripti.

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

Ülaltoodud skripti käivitamine MySQL-is Myflixdb-ga lisab liikmetabelisse uue veeru nimega krediitkaardi number, andmetüübina VARCHAR. Näituse veergude skripti käivitamine annab meile järgmised tulemused.

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

Nagu tagastatud tulemustest näete, on liikmete tabelisse lisatud krediitkaardi number. Liikmete andmetes sisalduvaid andmeid uue veeru lisamine ei mõjuta.

MIS ON tilkkäsk?

DROP-käsk on harjunud

  1. Kustutage MySQL-i serverist andmebaas
  2. Objekti (nt tabel, veerg) kustutamine andmebaasist.

Vaatame nüüd praktilisi näiteid, mis kasutavad käsku DROP.

Oma eelmises näites Alter Commandist lisasime liikmete tabelisse veeru nimega krediitkaardi number.

Oletame, et veebiarvelduse funktsioon võtab veidi aega ja me tahame Krediitkaardi veergu LÜPITADA

Saame kasutada järgmist skripti

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Ülaltoodud skripti käivitamisel kukub veerg credit_card_number liikmete tabelist

Vaatame nüüd liikmetabeli veerge, et kontrollida, kas meie veerg on langenud.

SHOW COLUMNS FROM `members`;

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga annab meile järgmised tulemused.

 
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

Pange tähele, et krediitkaardi number on väljade loendist välja jäetud.

LENNUD TABEL

Andmebaasi tabeli DROP-i süntaks on järgmine -

DROP TABLE `sample_table`;

Vaatame ühte näidet

DROP TABLE `categories_archive`;

Ülaltoodud skripti käivitamine kustutab meie andmebaasist tabeli nimega "categories_archive".

MIS ON NIMETAMISKÄSK?

Ümbernimetamise käsku kasutatakse olemasoleva andmebaasiobjekti (nt tabel, veerg) nime muutmiseks uueks nimeks .

Tabeli ümbernimetamine ei muuda tabelis olevate andmete kaotamist.

Süntaks: -

Nimel ümbernimetamine on järgmine põhisüntaks.

RENAME TABLE `current_table_name` TO `new_table_name`;

Oletame, et tahame ümber nimetada tabeli movierentals nimeks movie_rentals, selle saavutamiseks võime kasutada allpool näidatud skripti.

RENAME TABLE `movierentals` TO `movie_rentals`;

Ülaltoodud skripti käivitamine nimetab tabeli "movierentals" ümber "movie_rentals".

Nimetame nüüd tabeli movie_rentals ümber selle algsele nimele.

RENAME TABLE `movie_rentals` TO `movierentals`;

MUUDA MÄRKSÕNA

Märksõnade muutmine võimaldab teil seda teha

  1. Muuda veeru nime
  2. Muuda veeru andmetüüpi
  3. Muuda veeru piiranguid

Vaatame ühte näidet. Liikmetabeli täisnimede väli on varchari tüüpi ja laius on 150.

SHOW COLUMNS FROM `members`;

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga annab meile järgmised tulemused.

 
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

Oletame, et me tahame

  1. Muutke välja nimi "full_names" väärtuseks "fullname"
  2. Muutke see andmetüübiks char laiusega 250
  3. Lisage piirang NULL NULL

Saame selle saavutada käsuga muutus järgmiselt -

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

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga ja seejärel ülaltoodud show-veergude skripti käivitamine annab järgmised tulemused.

 
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

MUUDA MÄRKSÕNA

Märksõna MODIFY võimaldab teil

  1. Muuda veeru andmetüüpi
  2. Muuda veerupiiranguid

Ülalolevas näites MUUDA pidime muutma välja nime ja muid üksikasju. Välja nime CHANGE välja jätmine tekitab tõrke. Oletame, et meid huvitab ainult väljal andmetüübi ja piirangute muutmine, ilma et see mõjutaks välja nime, selle saavutamiseks võime kasutada märksõna MODIFY.

Allolev skript muudab välja "täisnimi" laiuseks 250 väärtusest 50.

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

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga ja seejärel ülaltoodud show-veergude skripti käivitamine annab järgmised tulemused.

 
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

PÄRAST MÄRKSÕNA

Oletame, et tahame lisada tabeli konkreetsele kohale uue veeru.

Saame kasutada käsku alter koos märksõnaga AFTER.

Allpool olev skript lisab liikmete tabelisse kohe pärast sünnikuupäeva "date_of_registration".

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

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga ja seejärel ülaltoodud show-veergude skripti käivitamine annab järgmised tulemused.

 
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

Kokkuvõte

  • Käsku alter kasutatakse siis, kui soovime muuta andmebaasi või mõnda selles sisalduvat objekti.
  • Drop-käsku kasutatakse andmebaaside kustutamiseks MySQL-i serverist või andmebaasis olevatest objektidest.
  • Ümbernimetamise käsku kasutatakse tabeli nime muutmiseks uueks tabeli nimeks.
  • Märksõna muutmine võimaldab teil muuta veeru nime, andmetüüpi ja piiranguid
  • Märksõna muutmine võimaldab teil muuta veeru andmetüüpi ja piiranguid
  • Märksõna Pärast kasutatakse tabeli veeru asukoha määramiseks