MYSQL – ENDRE, DROPPE, ENDRE navn, ENDRE

Hva er ALTER-kommandoen?

Som ordtaket sier Endring er den eneste konstanten

Med tiden endres også forretningskravene. Når forretningskravene endres, må databasedesign også endres.

MySQL gir ENDRE funksjon som hjelper oss innlemme endringene i den allerede eksisterende databasedesignen.

Alter-kommandoen brukes til å endre en eksisterende database, tabell, visning eller andre databaseobjekter som kanskje må endres i løpet av livssyklusen til en database.

La oss anta at vi har fullført databasedesignet vårt og det er implementert. Våre databasebrukere bruker den, og da innser de at noe av den viktige informasjonen ble utelatt i designfasen. De ønsker ikke å miste eksisterende data, men vil bare inkludere den nye informasjonen. Alter-kommandoen kommer godt med i slike situasjoner. Vi kan bruke alter-kommandoen til å endre datatypen til et felt fra si streng til numerisk, endre feltnavnet til et nytt navn eller til og med legge til en ny kolonne i en tabell.

Alter – syntaks

Den grunnleggende syntaksen som brukes til å legge til en kolonne i en allerede eksisterende tabell, er vist nedenfor

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

HER

  • "ENDRE TABELL `tabellnavn`" er kommandoen som forteller MySQL server for å endre tabellen kalt `tabellnavn`.
  • "ADD COLUMN `column_name` `data_type`" er kommandoen som forteller MySQL server for å legge til en ny kolonne kalt `column_name` med datatypen `data_type'.

La oss anta at Myflix har introdusert nettfakturering og betalinger. Mot dette har vi blitt bedt om å legge til et felt for kredittkortnummeret i medlemstabellen vår. Vi kan bruke ALTER-kommandoen for å gjøre det. La oss først se på strukturen til medlemstabellen før vi gjør noen endringer. Skriptet som vises nedenfor hjelper oss å gjøre det.

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

Vi kan bruke skriptet vist nedenfor for å legge til et nytt felt i medlemstabellen.

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

Utfører skriptet ovenfor i MySQL mot Myflixdb legger til en ny kolonne kalt kredittkortnummer til medlemstabellen med VARCHAR som datatype. Utførelse av skriptet viser kolonner gir oss følgende resultater.

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

Som du kan se av resultatene som ble returnert, er kredittkortnummeret lagt til i medlemstabellen. Dataene i medlemmenes data påvirkes ikke av tilføyelsen av den nye kolonnen.

HVA ER DROP-KOMMANDOEN?

DROP-kommandoen brukes til

  1. Slett en database fra MySQL server
  2. Slett et objekt (som Tabell , Kolonne) fra en database.

La oss nå se på praktiske eksempler som bruker DROP-kommandoen.

I vårt forrige eksempel på Alter Command la vi til en kolonne kalt kredittkortnummer i medlemstabellen.

Anta at funksjonaliteten for nettfakturering vil ta litt tid, og vi ønsker å SLAPPE kredittkortkolonnen

Vi kan bruke følgende skript

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Ved å kjøre skriptet ovenfor fjernes kolonnen kredittkortnummer fra medlemstabellen

La oss nå se på kolonnene i medlemstabellen for å bekrefte om kolonnen vår har blitt slettet.

SHOW COLUMNS FROM `members`;

Utfører skriptet ovenfor i MySQL arbeidsbenk mot myflixdb gir oss følgende resultater.

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

Legg merke til at kredittkortnummeret er slettet fra feltlisten.

DROPPE BORD

Syntaksen for å DROPPE en tabell fra databasen er som følger –

DROP TABLE `sample_table`;

La oss se på et eksempel

DROP TABLE `categories_archive`;

Utførelse av skriptet ovenfor sletter tabellen kalt ` categories_archive ` fra databasen vår.

HVA ER RENAME-KOMMANDOEN?

Rename-kommandoen brukes til endre navnet på et eksisterende databaseobjekt (som Tabell, Kolonne) til et nytt navn.

Å gi nytt navn til en tabell gjør at den ikke mister noen data som finnes i den.

Syntaks:-

Rename-kommandoen har følgende grunnleggende syntaks.

RENAME TABLE `current_table_name` TO `new_table_name`;

La oss anta at vi ønsker å gi nytt navn til movierentals-tabellen til movie_rentals, vi kan bruke skriptet vist nedenfor for å oppnå det.

RENAME TABLE `movierentals` TO `movie_rentals`;

Utførelse av skriptet ovenfor endrer navnet på tabellen "movierentals" til "movie_rentals".

Vi vil nå gi nytt navn til movie_rentals-tabellen til det opprinnelige navnet.

RENAME TABLE `movie_rentals` TO `movierentals`;

ENDRE SØKEORD

Endre nøkkelord lar deg

  1. Endre navn på kolonne
  2. Endre kolonnedatatype
  3. Endre kolonnebegrensninger

La oss se på et eksempel. Feltet for fulle navn i medlemstabellen er av varchar-datatypen og har en bredde på 150.

SHOW COLUMNS FROM `members`;

Utfører skriptet ovenfor i MySQL arbeidsbenk mot myflixdb gir oss følgende resultater.

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

Anta at vi vil

  1. Endre feltnavnet fra "full_names" til "fullname
  2. Endre den til char-datatype med en bredde på 250
  3. Legg til en NOT NULL-begrensning

Vi kan oppnå dette ved å bruke endringskommandoen som følger -

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

Utfører skriptet ovenfor i MySQL arbeidsbenk mot myflixdb og deretter utføre show columns-skriptet gitt ovenfor gir følgende resultater.

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

ENDRE SØKEORD

MODIFY Keyword lar deg

  1. Endre kolonnedatatype
  2. Endre kolonnebegrensninger

I CHANGE-eksemplet ovenfor måtte vi endre feltnavnet i tillegg til andre detaljer. Å utelate feltnavnet fra CHANGE-setningen vil generere en feil. Anta at vi bare er interessert i å endre datatype og begrensninger på feltet uten å påvirke feltnavnet, kan vi bruke MODIFY nøkkelordet for å oppnå det.

Skriptet nedenfor endrer bredden på "fullnavn"-feltet fra 250 til 50.

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

Utfører skriptet ovenfor i MySQL arbeidsbenk mot myflixdb og deretter kjøre show columns-skriptet gitt ovenfor gir følgende resultater vist nedenfor.

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

ETTER SØKEORD

Anta at vi ønsker å legge til en ny kolonne på en bestemt plassering i tabellen.

Vi kan bruke alter-kommandoen sammen med AFTER-nøkkelordet.

Skriptet nedenfor legger til "date_of_registration" like etter fødselsdatoen i medlemstabellen.

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

Utfører skriptet ovenfor i MySQL arbeidsbenk mot myflixdb og deretter kjøre show columns-skriptet gitt ovenfor gir følgende resultater vist nedenfor.

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

Oppsummering

  • Alter-kommandoen brukes når vi ønsker å endre en database eller et hvilket som helst objekt i databasen.
  • Drop-kommandoen brukes til å slette databaser fra MySQL server eller objekter i en database.
  • Rename-kommandoen brukes til å endre navnet på en tabell til et nytt tabellnavn.
  • Endre nøkkelordet lar deg endre et kolonnenavn, datatype og begrensninger
  • Endre nøkkelord lar deg endre en kolonnedatatype og begrensninger
  • Etter nøkkelordet brukes til å spesifisere plasseringen av en kolonne i en tabell