MYSQL – ÆNDRING, DROP, OMDØB, ÆNDRING

Hvad er ALTER-kommandoen?

Som man siger Forandring er den eneste konstant

Med tiden ændrer forretningskrav sig også. Efterhånden som forretningskravene ændrer sig, skal databasedesign også ændres.

MySQL giver ÆNDRE funktion, der hjælper os inkorporer ændringerne til det allerede eksisterende databasedesign.

Alter-kommandoen bruges til at ændre en eksisterende database, tabel, visning eller andre databaseobjekter, der muligvis skal ændres i løbet af en databases livscyklus.

Lad os antage, at vi har færdiggjort vores databasedesign, og det er blevet implementeret. Vores databasebrugere bruger det, og så indser de, at nogle af de vitale oplysninger blev udeladt i designfasen. De ønsker ikke at miste de eksisterende data, men vil blot inkorporere de nye oplysninger. Alter-kommandoen er praktisk i sådanne situationer. Vi kan bruge alter-kommandoen til at ændre datatypen for et felt fra sige streng til numerisk, ændre feltnavnet til et nyt navn eller endda tilføje en ny kolonne i en tabel.

Alter – syntaks

Den grundlæggende syntaks, der bruges til at tilføje en kolonne til en allerede eksisterende tabel, er vist nedenfor

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

HER

  • "ÆNDRE TABEL `tabel_navn`" er kommandoen der fortæller MySQL server for at ændre tabellen med navnet `table_name`.
  • "ADD COLUMN `column_name` `data_type`" er kommandoen der fortæller MySQL server for at tilføje en ny kolonne ved navn `column_name` med datatypen `data_type'.

Lad os antage, at Myflix har introduceret online fakturering og betalinger. Til det formål er vi blevet bedt om at tilføje et felt til kreditkortnummeret i vores medlemstabel. Vi kan bruge ALTER-kommandoen til at gøre det. Lad os først se på strukturen af ​​medlemstabellen, før vi foretager ændringer. Scriptet vist nedenfor hjælper os med at gø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 bruge scriptet vist nedenfor til at tilføje et nyt felt til medlemstabellen.

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

Udførelse af ovenstående script i MySQL mod Myflixdb tilføjer en ny kolonne med navnet kreditkortnummer til medlemstabellen med VARCHAR som datatype. Udførelse af show columns scriptet giver os 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 af de returnerede resultater, er kreditkortnummeret blevet tilføjet til medlemstabellen. Dataene i medlemmernes data påvirkes ikke af tilføjelsen af ​​den nye kolonne.

HVAD ER DROP-KOMMANDOEN?

DROP-kommandoen bruges til

  1. Slet en database fra MySQL server
  2. Slet et objekt (såsom tabel, kolonne) fra en database.

Lad os nu se på praktiske eksempler, der gør brug af DROP-kommandoen.

I vores tidligere eksempel på Alter-kommandoen tilføjede vi en kolonne med navnet kreditkortnummer til medlemstabellen.

Antag, at onlinefaktureringsfunktionaliteten vil tage noget tid, og vi ønsker at SLIPPE kreditkortkolonnen

Vi kan bruge følgende script

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Ved at udføre ovenstående script slettes kolonnen kreditkortnummer fra medlemstabellen

Lad os nu se på kolonnerne i medlemstabellen for at bekræfte, om vores kolonne er blevet slettet.

SHOW COLUMNS FROM `members`;

Udførelse af ovenstående script i MySQL workbench mod myflixdb giver os 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

Bemærk, at kreditkortnummeret er blevet slettet fra feltlisten.

DROP TABEL

Syntaksen til at DROP en tabel fra databasen er som følger –

DROP TABLE `sample_table`;

Lad os se på et eksempel

DROP TABLE `categories_archive`;

Udførelse af ovenstående script sletter tabellen med navnet ` categories_archive ` fra vores database.

HVAD ER RENAME-KOMMANDOEN?

Omdøb-kommandoen bruges til ændre navnet på et eksisterende databaseobjekt (som Tabel, Kolonne) til et nyt navn.

At omdøbe en tabel betyder ikke, at den mister nogen data, der er indeholdt i den.

Syntaks:-

Kommandoen omdøb har følgende grundlæggende syntaks.

RENAME TABLE `current_table_name` TO `new_table_name`;

Lad os antage, at vi ønsker at omdøbe movierentals-tabellen til movie_rentals, vi kan bruge scriptet vist nedenfor for at opnå det.

RENAME TABLE `movierentals` TO `movie_rentals`;

Udførelse af ovenstående script omdøber tabellen `movierentals` til `movie_rentals`.

Vi vil nu omdøbe movie_rentals-tabellen tilbage til dets oprindelige navn.

RENAME TABLE `movie_rentals` TO `movierentals`;

SKIFT SØGEORD

Skift søgeord giver dig mulighed for

  1. Skift navn på kolonne
  2. Skift kolonnedatatype
  3. Skift kolonnebegrænsninger

Lad os se på et eksempel. Feltet med fulde navne i medlemstabellen er af varchar-datatypen og har en bredde på 150.

SHOW COLUMNS FROM `members`;

Udførelse af ovenstående script i MySQL workbench mod myflixdb giver os 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

Antag, at vi vil

  1. Skift feltnavnet fra "fuldt_navne" til "fuldt navn
  2. Skift den til char-datatype med en bredde på 250
  3. Tilføj en NOT NULL-begrænsning

Vi kan opnå dette ved at bruge ændringskommandoen som følger -

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

Udførelse af ovenstående script i MySQL workbench mod myflixdb og derefter udføre show columns scriptet ovenfor giver 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

ÆNDRE SØGEORD

MODIFY Keyword giver dig mulighed for

  1. Rediger kolonnedatatype
  2. Rediger kolonnebegrænsninger

I CHANGE-eksemplet ovenfor var vi nødt til at ændre feltnavnet samt andre detaljer. Udeladelse af feltnavnet fra CHANGE-sætningen vil generere en fejl. Antag, at vi kun er interesserede i at ændre datatypen og begrænsningerne på feltet uden at påvirke feltnavnet, vi kan bruge nøgleordet MODIFY til at opnå det.

Scriptet nedenfor ændrer bredden af ​​feltet "fuldt navn" fra 250 til 50.

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

Udførelse af ovenstående script i MySQL workbench mod myflixdb og derefter udføre show columns scriptet givet ovenfor giver 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

EFTER SØGEORD

Antag, at vi ønsker at tilføje en ny kolonne på en bestemt position i tabellen.

Vi kan bruge alter-kommandoen sammen med AFTER nøgleordet.

Scriptet nedenfor tilføjer "date_of_registration" lige efter fødselsdatoen i medlemstabellen.

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

Udførelse af ovenstående script i MySQL workbench mod myflixdb og derefter udføre show columns scriptet givet ovenfor giver 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

Resumé

  • Alter-kommandoen bruges, når vi ønsker at ændre en database eller ethvert objekt indeholdt i databasen.
  • Drop-kommandoen bruges til at slette databaser fra MySQL server eller objekter i en database.
  • Kommandoen omdøb bruges til at ændre navnet på en tabel til et nyt tabelnavn.
  • Skift nøgleord giver dig mulighed for at ændre et kolonnenavn, datatype og begrænsninger
  • Rediger søgeord giver dig mulighed for at ændre en kolonnedatatype og begrænsninger
  • Efter nøgleordet bruges til at angive placeringen af ​​en kolonne i en tabel