Včasih je naše ime stolpca nepomembno, zato je treba preimenovati ali spremeniti ime stolpca. MySQL ponuja uporabno sintakso, ki lahko preimenuje enega ali več stolpcev v tabeli. Pred preimenovanjem stolpca je bistvenih nekaj privilegijev, na primer privilegiji stavkov ALTER in DROP.
MySQL lahko preimenuje ime stolpca na dva načina:
- Uporaba izjave CHANGE
- Uporaba stavka RENAME
Uporaba izjave CHANGE:
Sledi sintaksa, ki ponazarja preimenovanje stolpca z uporabo stavka CHANGE:
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type;
V tej sintaksi lahko vidimo, da bomo morda zahtevali ponovno specifikacijo vseh atributov stolpcev. Ta sintaksa nam lahko omogoča tudi spreminjanje podatkovnih vrst stolpcev. Toda včasih ima izjava CHANGE lahko naslednje pomanjkljivosti:
- Vse informacije o atributih stolpcev morda ne bodo na voljo aplikaciji za preimenovanje.
- Obstaja nevarnost nenamerne spremembe vrste podatkov, ki lahko povzroči izgubo podatkov aplikacije.
Primer
Razumejmo, kako deluje izjava CHANGE MySQL preimenovati stolpec skozi različne primere. Recimo, da imamo tabelo z imenom ravnovesje ki vsebuje naslednje podatke:
Zaradi nekega razloga moramo spremeniti ime stolpca account_num skupaj z njegovim podatkovnim tipom . V tem primeru najprej preverimo strukturo tabele z uporabo OPIŠI izjava, kot sledi:
Na tej sliki lahko vidimo, da podatkovni tip imena stolpca account_num je int . In želimo spremeniti ime tega stolpca kot številka računa in njegov podatkovni tip kot int v varchar . Tako lahko za to izvedemo spodnjo izjavo:
mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25);
Po izvedbi zgornjega ukaza ga lahko preverimo s ponovno uporabo stavka DESCRIBE. Na spodnji sliki sta se ime stolpca account_num in njegov podatkovni tip uspešno spremenila.
Uporaba izjave RENAME:
Za odpravo pomanjkljivosti stavka CHANGE je MySQL predlagal naslednjo sintakso, ki ponazarja spreminjanje imena stolpca z uporabo stavka RENAME:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
Primer
Razumejmo, kako deluje izjava RENAME v MySQL za spreminjanje imena stolpca skozi različne primere. Recimo, da imamo tabelo z imenom stranka ki vsebuje naslednje podatke:
Recimo, da želimo spremeniti račun z imenom stolpca številka računa brez spreminjanja podatkovnih vrst. To lahko storimo tako, da izvedemo spodnjo izjavo:
mysql> ALTER TABLE customer RENAME COLUMN account to account_no;
Po izvedbi zgornjega ukaza ga lahko preverimo z uporabo IZBERI spet izjava. Na spodnji sliki je račun z imenom stolpca uspešno spremenjen.
Preimenovanje več stolpcev
MySQL nam prav tako omogoča, da spremenimo več imen stolpcev znotraj enega stavka. Če želimo preimenovati več imen stolpcev, lahko uporabimo spodnjo sintakso:
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;
ALI
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;
Primer
Recimo, da se želimo spremeniti imena stolpcev id in customer_name Iz mizo strank . Če želite spremeniti več imen stolpcev znotraj enega stavka, lahko stavek uporabimo na naslednji način:
mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45);
Po izvedbi zgornjega ukaza ga lahko preverimo s ponovno uporabo stavka SELECT. Na spodnji sliki sta se ime stolpca id in customer_name uspešno spremenila:
Ponovno spremenimo ime stolpca, ki se trenutno spreminja, s stavkom RENAME COLUMN, kot sledi:
mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name;
Po izvedbi zgornjega ukaza ga lahko preverimo s ponovno uporabo stavka DESCRIBE. Na spodnji sliki je ime stolpca cust_id in cust_name so se uspešno spremenile:
V tem članku smo se naučili predstaviti stolpec MySQL RENAME in kako spremeniti ime stolpca v določeni tabeli, skupaj s primerom poizvedbe za boljše razumevanje.