logo

MySQL oszlop átnevezése

Néha az oszlopnév értelmetlen, ezért át kell nevezni vagy módosítani kell az oszlop nevét. A MySQL hasznos szintaxist biztosít, amely át tudja nevezni a táblázat egy vagy több oszlopát. Néhány jogosultság szükséges az oszlop átnevezése előtt, például az ALTER és a DROP utasításjogosultságok.

A MySQL kétféleképpen nevezheti át az oszlop nevét:

  1. A CHANGE utasítás használatával
  2. A RENAME utasítás használata

A VÁLTOZTATÁSI nyilatkozat használata:

A következő szintaxis illusztrálja az oszlop átnevezését a CHANGE utasítással:

java priorityqueue
 ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type; 

Ebben a szintaxisban láthatjuk, hogy szükség lehet az összes oszlopattribútum újraspecifikálására. Ez a szintaxis lehetővé teszi az oszlop adattípusainak megváltoztatását is. Néha azonban a CHANGE utasításnak a következő hátrányai lehetnek:

  • Előfordulhat, hogy az oszlopattribútumok összes információja nem érhető el az alkalmazás számára az átnevezéshez.
  • Fennáll a véletlen adattípus-módosítás veszélye, amely az alkalmazás adatvesztését eredményezheti.

Példa

Nézzük meg, hogyan működik a CHANGE utasítás MySQL oszlop átnevezéséhez a különféle példákon keresztül. Tegyük fel, hogy van egy nevű táblázatunk egyensúly amely a következő adatokat tartalmazza:

MySQL oszlop átnevezése

Valamilyen okból meg kell változtatnunk a oszlopnév fiók_szám az adattípusával együtt . Ebben az esetben először ellenőrizzük a táblázat szerkezetét a LEÍRÁS a következő nyilatkozatot:

MySQL oszlop átnevezése

Ezen a képen láthatjuk, hogy az oszlopnév adattípusa fiók_szám van int . És ezt az oszlopnevet úgy szeretnénk megváltoztatni, mint számlaszám és adattípusa mint int to varchar . Így ehhez végrehajthatjuk az alábbi utasítást:

string tömbbe java
 mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25); 

A fenti parancs végrehajtása után a DESCRIBE utasítás ismételt használatával ellenőrizhetjük. Az alábbi képen a fiók_szám oszlop neve és adattípusa sikeresen megváltozott.

MySQL oszlop átnevezése

A RENAME utasítás használata:

A CHANGE utasítás hátrányának kiküszöbölésére a MySQL a következő szintaxist javasolta, amely szemlélteti az oszlopnév megváltoztatását RENAME utasítással:

 ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name; 

Példa

Nézzük meg, hogyan működik a RENAME utasítás a MySQL-ben az oszlopnév megváltoztatásához a különféle példákon keresztül. Tegyük fel, hogy van egy nevű táblázatunk vevő amely a következő adatokat tartalmazza:

MySQL oszlop átnevezése

Tegyük fel, hogy meg akarjuk változtatni az oszlopnév-fiókot ezzel számlaszám adattípusainak megváltoztatása nélkül. Ezt az alábbi utasítás végrehajtásával tehetjük meg:

 mysql> ALTER TABLE customer RENAME COLUMN account to account_no; 

A fenti parancs végrehajtása után a parancs segítségével ellenőrizhetjük KIVÁLASZTÁS ismét kijelentés. Az alábbi képen az oszlopnév-fiók sikeresen megváltozott.

MySQL oszlop átnevezése

Több oszlop átnevezése

A MySQL azt is lehetővé teszi, hogy egyetlen utasításon belül módosítsuk a több oszlop nevét. Ha több oszlopnevet szeretnénk átnevezni, használhatjuk az alábbi szintaxist:

 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; 

VAGY

 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; 

Példa

Tegyük fel, hogy változtatni akarunk oszlopnevek id és ügyfél_neve tól vásárlói asztal . Több oszlopnév megváltoztatásához egyetlen utasításon belül, a következőképpen használhatjuk az utasítást:

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

A fenti parancs végrehajtása után a SELECT utasítással ismét ellenőrizhetjük. Az alábbi képen az oszlopnév azonosítója és az ügyfél_neve sikeresen megváltozott:

mergesort java
MySQL oszlop átnevezése

Változtassuk meg ismét a jelenleg módosító oszlopnevet a RENAME COLUMN utasítással az alábbiak szerint:

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

A fenti parancs végrehajtása után a DESCRIBE utasítás ismételt használatával ellenőrizhetjük. Az alábbi képen a oszlop neve cust_id és cust_name sikeresen megváltozott:

MySQL oszlop átnevezése

Ebben a cikkben megismerkedtünk a MySQL RENAME oszlop bemutatásával és az oszlopnév megváltoztatásával egy megadott táblában, valamint egy lekérdezési példával a jobb megértés érdekében.