logo

MySQL preimenuj stupac

Ponekad je naš naziv stupca besmislen, pa je potrebno preimenovati ili promijeniti naziv stupca. MySQL pruža korisnu sintaksu koja može preimenovati jedan ili više stupaca u tablici. Nekoliko je privilegija neophodno prije preimenovanja stupca, kao što su privilegije naredbi ALTER i DROP.

MySQL može preimenovati naziv stupca na dva načina:

  1. Korištenje naredbe CHANGE
  2. Korištenje naredbe RENAME

Korištenje naredbe CHANGE:

Sljedeća je sintaksa koja ilustrira preimenovanje stupca pomoću naredbe CHANGE:

 ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type; 

U ovoj sintaksi možemo vidjeti da možemo zahtijevati ponovnu specifikaciju svih atributa stupca. Ova nam sintaksa također može omogućiti promjenu tipova podataka stupca. No, ponekad izjava CHANGE može imati sljedeće nedostatke:

  • Sve informacije o atributima stupaca možda neće biti dostupne aplikaciji za preimenovanje.
  • Postoji rizik od slučajne promjene vrste podataka koja može rezultirati gubitkom podataka aplikacije.

Primjer

Hajde da shvatimo kako naredba CHANGE radi u MySQL preimenovati stupac kroz razne primjere. Pretpostavimo da imamo tablicu pod imenom ravnoteža koji sadrži podatke kako slijedi:

MySQL preimenuj stupac

Iz nekog razloga moramo promijeniti naziv stupca account_num zajedno s njegovom vrstom podataka . U tom slučaju prvo provjeravamo strukturu tablice pomoću OPISATI izjava kako slijedi:

MySQL preimenuj stupac

Na ovoj slici možemo vidjeti da je tip podataka imena stupca account_num je int . I želimo promijeniti naziv ovog stupca kao broj računa a njegov tip podataka kao int u varchar . Dakle, možemo izvršiti sljedeću naredbu da to učinimo:

 mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25); 

Nakon izvršenja gornje naredbe, možemo je provjeriti ponovnim korištenjem naredbe DESCRIBE. Na donjoj slici naziv stupca account_num i njegova vrsta podataka uspješno su promijenjeni.

MySQL preimenuj stupac

Korištenje naredbe RENAME:

Da bi se uklonio nedostatak izjave CHANGE, MySQL je predložio sljedeću sintaksu koja ilustrira promjenu naziva stupca pomoću izjave RENAME:

 ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name; 

Primjer

Razmotrimo kako naredba RENAME radi u MySQL-u za promjenu naziva stupca kroz razne primjere. Pretpostavimo da imamo tablicu pod imenom kupac koji sadrži sljedeće podatke:

MySQL preimenuj stupac

Pretpostavimo da želimo promijeniti naziv stupca račun s broj računa bez mijenjanja tipova podataka. To možemo učiniti izvršavanjem donje izjave:

 mysql> ALTER TABLE customer RENAME COLUMN account to account_no; 

Nakon izvršenja gornje naredbe, možemo je provjeriti pomoću IZABERI opet izjava. Na donjoj slici račun s nazivom stupca uspješno je promijenjen.

MySQL preimenuj stupac

Preimenovanje više stupaca

MySQL nam također omogućuje promjenu naziva više stupaca unutar jedne izjave. Ako želimo preimenovati više naziva stupaca, mogli bismo upotrijebiti donju sintaksu:

 ALTER TABLE table_name CHANGE old_column_name1 new_column_name1 Data Type, CHANGE old_column_name2 new_column_name2 Data Type, ... ... CHANGE old_column_nameN new_column_nameN Data Type; 

ILI

 ALTER TABLE table_name RENAME COLUMN old_column_name1 TO new_column_name1, RENAME COLUMN old_column_name2 TO new_column_name2, ... ... RENAME COLUMN old_column_nameN TO new_column_nameN; 

Primjer

Pretpostavimo da se želimo promijeniti nazivi stupaca id i customer_name od stol kupaca . Za promjenu više naziva stupaca unutar jedne izjave, možemo upotrijebiti izjavu na sljedeći način:

 mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45); 

Nakon izvršenja gornje naredbe, možemo je provjeriti ponovnom upotrebom naredbe SELECT. Na donjoj slici, naziv stupca id i customer_name uspješno su promijenjeni:

MySQL preimenuj stupac

Promijenimo ponovno naziv stupca koji se trenutačno mijenja putem naredbe RENAME COLUMN na sljedeći način:

 mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name; 

Nakon izvršenja gornje naredbe, možemo je provjeriti ponovnim korištenjem naredbe DESCRIBE. Na donjoj slici, naziv stupca cust_id i cust_name uspješno su promijenjeni:

MySQL preimenuj stupac

U ovom smo članku naučili uvod u MySQL stupac RENAME i kako promijeniti naziv stupca u određenoj tablici, zajedno s primjerom upita za bolje razumijevanje.