Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
Hozzáad, módosít, vagy elvet egy oszlopot egy táblában, vagy egy mezőt egy oszlopban a Delta Lake-táblában.
Szükséges engedélyek
Ha a Unity Katalógust használja, MODIFY engedéllyel kell rendelkeznie a következőhöz:
ALTER COLUMNADD COLUMNDROP COLUMN
Minden más művelethez a tábla tulajdonjoga szükséges.
Szintaxis
ALTER TABLE table_name
{ ADD COLUMN clause |
ALTER COLUMN clause |
DROP COLUMN clause |
RENAME COLUMN clause }
Adj hozzá COLUMN záradékot
Ez a záradék a JDBC adatforrások esetében nem támogatott.
Egy vagy több oszlopot ad hozzá a táblához, vagy mezőket a Delta Lake-tábla meglévő oszlopaihoz.
Feljegyzés
Ha oszlopot ad hozzá egy meglévő Delta-táblához, nem definiálhat DEFAULT értéket. A Delta-táblákhoz hozzáadott összes oszlop NULL lesz kezelve a meglévő sorok esetében. Az oszlop hozzáadása után megadhat egy alapértelmezett értéket az oszlophoz, de ez csak a táblába beszúrt új sorokra vonatkozik. Alkalmazza a következő szintaxist:
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_expression
Szintaxis
{ ADD [ COLUMN | COLUMNS ]
( { { column_identifier | field_name } data_type
[ COLLATE collation_name ]
[ DEFAULT clause ]
[ COMMENT comment ]
[ FIRST | AFTER identifier ]
[ MASK clause ] } [, ...] ) }
Paraméterek
-
A hozzáadni kívánt oszlop neve. A névnek egyedinek kell lennie a táblában.
Ha nincs megadva
FIRSTvagyAFTER name, a program hozzáfűzi az oszlopot vagy a mezőt a végéhez. -
A meglévő oszlophoz hozzáadni kívánt mező teljes neve. A beágyazott mező elérési útjának minden összetevőjének léteznie kell, és magának a mezőnévnek egyedinek kell lennie.
Ha mezőket szeretne hozzáadni a beágyazott vagy
ARRAYtípusokba ágyazottMAPszerkezetekhez, használja a következő speciális neveket:-
ELEMENTelemhez való navigáláshozARRAY. -
KEYa kulcsra való navigáláshozMAP. -
VALUEaz értékre való navigáláshozMAP.
Például:
phonenumbers.element.countrycodehozzáadja a mezőtcountrycodeaphonenumberstömb minden eleméhez. -
DEFAULT default_expressionA következőkre vonatkozik:
Databricks SQL
Databricks Runtime 11.3 LTS és újabbEgy
DEFAULTértéket határoz meg aINSERTésMERGE ... INSERTszámára, amikor az oszlop nincs megadva. Az alapértelmezett kifejezésben szereplőSTRINGliterálok ésSTRINGfüggvényekUTF8_BINARYrendezést fognak használni.Ha nincs megadva alapértelmezett érték, a
DEFAULT NULLa null értékű oszlopokra utal.default_expressionlehetnek literálok, és beépített SQL-függvények vagy operátorok, kivéve:- Függvények összesítése
- elemzési ablakfüggvények
- rangsorolási ablakfüggvények
- Értékadó generátorfunkciók tábla szerint
default_expressionnem tartalmazhat részlekérdezést.A
DEFAULT,CSV,JSON,PARQUETésORCforrások támogatottak.-
Az oszlop vagy mező adattípusát adja meg. Az Azure Databricks által támogatott adattípusokat nem minden adatforrás támogatja.
COLLATEösszeállítás_névA
data_typeSTRINGopcionálisan megadja az oszlophoz vagy mezőhöz alkalmazandó rendezést. Ha nincs megadva, aUTF8_BINARYrendezés érvényes.COMMENT commentVálasztható
STRING-literál, amely a hozzáadott oszlopot vagy mezőt írja le.Ha AI által létrehozott megjegyzést szeretne hozzáadni egy, a Unity Catalog által felügyelt táblázathoz vagy táblázatoszlophoz, olvassa el AI által létrehozott megjegyzések hozzáadása Unity Catalog-objektumokhoz.
FIRSTHa meg van adva, az oszlop a tábla első oszlopaként lesz hozzáadva, vagy a mező lesz hozzáadva az azt tartalmazó szerkezet első mezőjeként.
AFTERazonosítóHa meg van adva, az oszlop vagy mező közvetlenül a mező vagy oszlop
identifierután lesz hozzáadva.-
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 12.2 LTS és újabb 
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Hozzáad egy oszlopmaszk-függvényt a bizalmas adatok anonimizálásához. Az oszlop minden további lekérdezése megkapja a függvény kiértékelésének eredményét az oszlopon az oszlop eredeti értéke helyett. Ez hasznos lehet részletes hozzáférés-vezérlési célokra, ahol a függvény megvizsgálhatja az invokáló felhasználó identitását vagy csoporttagságát annak megállapításához, hogy az értéket újra kívánja-e használni.
ALTER COLUMN záradék
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
Módosít egy tulajdonságot vagy egy oszlop helyét.
Szintaxis
{ ALTER | CHANGE } [ COLUMN ]
{ { column_identifier | field_name }
{ COMMENT comment |
{ FIRST | AFTER column_identifier } |
{ SET | DROP } NOT NULL |
TYPE data_type |
SET DEFAULT clause |
DROP DEFAULT |
SYNC IDENTITY }
[, ... ]
A Databricks Runtime 16.3-at megelőzően a záradék nem támogatja egyetlen záradék több oszlopának módosítását.
{ ALTER | CHANGE } [ COLUMN ]
{ column_identifier | field_name }
{ SET { MASK clause } |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Paraméterek
-
A módosítani kívánt oszlop neve.
Ha egy oszlopazonosítóra többször hivatkoznak, az Azure Databricks NOT_SUPPORTED_CHANGE_SAME_COLUMN jelez.
-
A módosítani kívánt mező teljes neve. A beágyazott mező elérési útjának minden összetevőjének léteznie kell.
Ha egy mezőnévre többször hivatkozik, az Azure Databricks NOT_SUPPORTED_CHANGE_SAME_COLUMN hibát ad.
COMMENT commentMódosítja a
column_nameoszlop leírását.comment-nak/-nek egySTRINGliterálnak kell lennie.FIRSTvagyAFTERazonosítóÁthelyezi az oszlopot az aktuális helyzetéből az elejére (
FIRST), vagy azonnalAFTERaidentifierelé. Ez a záradék csak akkor támogatott, hatable_nameDelta-tábla.TYPEadattípusA következőkre vonatkozik:
Databricks SQL
Databricks Runtime 15.2 vagy újabbA
column_nameoszlop adattípusának módosítása.Ez a záradék csak akkor támogatott, ha
table_nameDelta-tábla.Az összes Delta-tábla esetében a következő típusmódosítások támogatottak:
- Egy
VARCHARoszlop méretének növelése, példáulVARCHAR(5)-rőlVARCHAR(10) -
CHARoszlop típusának módosításaVARCHAR, példáulCHAR(5)-rólVARCHAR(5) - Egy
CHARvagyVARCHARoszlop típusának módosításaSTRING: példáulVARCHAR(10)-rőlSTRING.
A Delta táblák az alábbi típusmódosításokat támogatják, amikor a
delta.enableTypeWideningértéket átállítjáktrueértékre:Fontos
Ez a funkció nyilvános előzetes verzióban érhető el a Databricks Runtime 15.2-ben és újabb verziójában.
Forrás típusa Támogatott szélesebb típusok BYTESHORT,INT,BIGINT,DECIMALDOUBLESHORTINT,BIGINT,DECIMALDOUBLEINT\ , \ , \ BIGINTDECIMAL,DOUBLEFLOATDOUBLEDECIMALDECIMALnagyobb pontossággal és skálázássalDATETIMESTAMP_NTZA típusszűkítésről további információt a Típusszűkítés című témakörben talál.
- Egy
SET NOT NULLvagyDROP NOT NULLMódosítja az érvényes oszlopértékek tartományát, hogy kizárja a null értékeket
SET NOT NULL, vagy a null értékeket is belefoglaljaDROP NOT NULL. Ez a beállítás csak Delta Lake-táblák esetén támogatott. A Delta Lake biztosítja, hogy a korlátozás érvényes legyen az összes meglévő és új adatra.SYNC IDENTITYA következőkre vonatkozik:
Databricks SQL
Databricks Runtime 10.4 LTS és újabbSzinkronizálja egy identitásoszlop metaadatait a tényleges adatokkal. Ha saját értékeket ír egy identitásoszlopba, előfordulhat, hogy az nem felel meg a metaadatoknak. Ez a beállítás kiértékeli az állapotot, és frissíti a metaadatokat, hogy azok összhangban legyenek a tényleges adatokkal. A parancs után a következő automatikusan hozzárendelt identitásérték
start + (n + 1) * stepkezdődik, aholna legkisebb érték, amely megfelel astart + n * step >= max()(pozitív lépés esetén).Ez a beállítás csak a Delta Lake-táblák identitásoszlopai esetében támogatott.
DROP DEFAULTA következőkre vonatkozik:
Databricks SQL
Databricks Runtime 11.3 LTS és újabbEltávolítja az alapértelmezett kifejezést az oszlopból. Null értékű oszlopok esetén ez egyenértékű a
SET DEFAULT NULL. ANOT NULLdefiniált oszlopokhoz minden jövőbeliINSERTművelethez meg kell adnia egy értéketSET DEFAULT default_expressionA következőkre vonatkozik:
Databricks SQL
Databricks Runtime 11.3 LTS és újabbEgy
DEFAULTértéket határoz meg aINSERTésMERGE ... INSERTszámára, amikor az oszlop nincs megadva.Ha nincs megadva alapértelmezett érték,
DEFAULT NULLnull értékű oszlopokra utal.default_expressionlehetnek literálok, beépített SQL-függvények vagy operátorok, kivéve:- Függvények összesítése
- elemzési ablakfüggvények
- rangsorolási ablakfüggvények
- Értékadó generátorfunkciók tábla szerint
default_expressionnem tartalmazhat alkérdezést.A
DEFAULT,CSV,JSON,ORCésPARQUETforrások támogatottak.Az újonnan hozzáadott oszlop alapértelmezett értékének megadásakor az alapértelmezett érték az összes meglévő sorra érvényes. Ha az alapértelmezett érték nem determinisztikus függvényt tartalmaz, például
randcurrent_timestampaz értéket egyszer számítja ki aALTER TABLEvégrehajtáskor, és állandóként alkalmazza a már meglévő sorokra. Az újonnan beszúrt sorok esetében az alapértelmezett kifejezés soronként egyszer fut.Ha a
ALTER COLUMNhasználatával állít be alapértelmezett értéket, a meglévő sorokat ez a módosítás nem érinti.SETMASZK záradékA következőkre vonatkozik:
Databricks SQL
Databricks Runtime 12.2 LTS és újabb 
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Hozzáad egy oszlopmaszk-függvényt a bizalmas adatok anonimizálásához. Az oszlop minden további lekérdezése megkapja a függvény kiértékelésének eredményét az oszlopon az oszlop eredeti értéke helyett. Ez hasznos lehet részletes hozzáférés-vezérlési célokra, ahol a függvény megvizsgálhatja az invokáló felhasználó identitását vagy csoporttagságát annak megállapításához, hogy az értéket újra kívánja-e használni.
DROP MASKA következőkre vonatkozik:
csak a Unity Catalog-raFontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Eltávolítja az oszlophoz tartozó oszlopmaszkot, ha van ilyen. Az oszlop jövőbeli lekérdezései megkapják az oszlop eredeti értékeit.
SET TAGS ( { tag_name = tag_value } [, ...] )A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 13.3 LTS és újabbCímkék alkalmazása az oszlopra. Az oszlophoz címkék hozzáadásához
APPLY TAGengedéllyel kell rendelkeznie.tag_name
Egy szó szerinti
STRING. Atag_nameegyedinek kell lennie a táblában vagy oszlopban.tag_value
Egy szó szerinti
STRING.
UNSET TAGS ( tag_name [, ...] )A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 13.3 LTS és újabbTávolítsa el a címkéket az oszlopból. Az oszlop címkéinek eltávolításához
APPLY TAGengedéllyel kell rendelkeznie.tag_name
Egy szó szerinti
STRING. Atag_nameegyedinek kell lennie a táblában vagy oszlopban.
DROP COLUMN záradék
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 11.3 LTS és újabb
Egy vagy több oszlop vagy mező elvetése egy relációban.
Ha elvet egy oszlopot vagy mezőt, el kell dobnia a függő ellenőrzési korlátozásokat és a létrehozott oszlopokat.
A követelmények megtekintéséhez lásd: Oszlopok átnevezése és törlése a Delta Lake oszlopleképezéssel.
Szintaxis
DROP [COLUMN | COLUMNS] [ IF EXISTS ] ( { {column_identifier | field_name} [, ...] )
Paraméterek
IF EXISTSA
IF EXISTSmegadásakor az Azure Databricks figyelmen kívül hagyja a nem létező oszlopok elvetésére tett kísérletet. Ellenkező esetben a nem meglévő oszlopok elvetése hibát fog okozni.-
A meglévő oszlop neve.
-
Egy meglévő mező teljes neve.
A COLUMN záradék ÁTNEVEZÉSE
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 10.4 LTS és újabb
Átnevez egy oszlopot vagy mezőt egy oszlopleképezéshez engedélyezett Delta Lake-táblában.
Ha átnevez egy oszlopot vagy mezőt, módosítania kell a függő ellenőrzési korlátozásokat és a létrehozott oszlopokat is. Az oszlopot használó elsődleges és idegen kulcsok törölve lesznek. Idegen kulcsok esetén annak a táblának kell a tulajdonosának lenned, amelyen az idegen kulcs definiálva van.
A követelményekről és az oszlopleképezés engedélyezéséről az Oszlopok átnevezése és elvetése Delta Lake-oszlopleképezésselcímű témakörben olvashat.
Szintaxis
RENAME COLUMN { column_identifier TO to_column_identifier|
field_name TO to_field_identifier }
Paraméterek
-
Az oszlop meglévő neve.
-
Az új oszlopazonosító. Az azonosítónak egyedinek kell lennie a táblában.
-
A mező meglévő teljesen minősített neve.
-
Az új mezőazonosító. Az azonosítónak egyedinek kell lennie a helyi szerkezeten belül.
Példák
Lásd ALTER TABLE példákat.