ALTER TABLE OSZLOP záradék
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Hozzáad, módosít vagy elvet egy oszlopot egy táblában vagy egy delta Lake-tábla egyik oszlopában lévő mezőben.
Szükséges engedélyek
A Unity-katalógus használata esetén a következő jogosultsággal kell rendelkeznie MODIFY
:
- OSZLOP MÓDOSÍTÁSA
- OSZLOP HOZZÁADÁSA
- DROP COLUMN
Minden más művelethez a tábla tulajdonjoga szükséges.
Syntax
ALTER TABLE table_name
{ ADD COLUMN clause |
ALTER COLUMN clause |
DROP COLUMN clause |
RENAME COLUMN clause }
ADD COLUMN záradék
Ez a záradék adatforrások esetében JDBC
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 oszlopot a rendszer a meglévő sorokhoz hasonlóan NULL
kezeli. 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
Syntax
{ ADD [ COLUMN | COLUMNS ]
( { { column_identifier | field_name } data_type
[ 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
FIRST
megadva vagyAFTER name
meg van adva, 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.
DEFAULT default_expression
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
DEFAULT
Meghatározza a használtINSERT
oszlop értékét, illetveMERGE ... INSERT
azt, hogy az oszlop nincs-e megadva.Ha nincs megadva alapértelmezett érték,
DEFAULT NULL
akkor a null értékű oszlopokra utal.default_expression
lehetnek 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
- Táblaértékelő generátorfüggvények
default_expression
nem tartalmazhat al lekérdezéseket.DEFAULT
a ,JSON
,PARQUET
ésORC
a források esetébenCSV
támogatott.-
Az oszlop vagy mező adattípusát adja meg. Az Azure Databricks által támogatott adattípusokat nem minden adatforrás támogatja.
COMMENT comment
A hozzáadott oszlopot vagy mezőt leíró nem kötelező
STRING
literál.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 az AI által létrehozott megjegyzések hozzáadása táblához című témakört.
FIRST
Ha 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.
AFTER
AzonosítóHa meg van adva, az oszlop vagy mező közvetlenül a mező vagy oszlop
identifier
után lesz hozzáadva.-
A következőkre vonatkozik: Databricks SQL Databricks Runtime 12.2 LTS és a Unity Catalog felett csak
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Oszlopmaszk-függvényt ad hozzá a bizalmas adatok anonimizálásához. Az oszlop minden jövőbeli 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, amelyek során a függvény megvizsgálhatja az invokáló felhasználó identitását és/vagy csoporttagságát annak eldöntéséhez, hogy újra ki kívánja-e használni az értéket.
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.
Syntax
{ { ALTER | CHANGE } [ COLUMN ] { column_identifier | field_name }
{ COMMENT comment |
{ FIRST | AFTER column_identifier } |
{ SET | DROP } NOT NULL |
SET DEFAULT clause |
DROP DEFAULT |
SYNC IDENTITY |
SET { MASK clause } |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause } }
Paraméterek
-
A módosítani kívánt oszlop neve.
-
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.
COMMENT comment
Módosítja
column_name
az oszlop leírását.comment
literálnak kell lennieSTRING
.FIRST
vagyAFTER
azonosítóÁthelyezi az oszlopot az aktuális helyzetéből az elejére (
FIRST
) vagy közvetlenülAFTER
aidentifier
. Ez a záradék csak Delta-tábla eseténtable_name
támogatott.SET NOT NULL
vagyDROP NOT NULL
Az érvényes oszlopértékek tartományát úgy módosítja, hogy kizárja a null értékeket
SET NOT NULL
, vagy null értékeketDROP NOT NULL
tartalmazzon. 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 IDENTITY
A következőkre vonatkozik: Databricks SQL Databricks Runtime 10.4 LTS és újabb
Szinkronizá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 onnan indul,
start + (n + 1) * step
aholn
a legkisebb érték felel megstart + 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 DEFAULT
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
Eltávolítja az alapértelmezett kifejezést az oszlopból. A null értékű oszlopok esetében ez egyenértékű a következő értékkel
SET DEFAULT NULL
: . A velükNOT NULL
definiált oszlopok esetében minden jövőbeliINSERT
művelethez meg kell adnia egy értéketSET DEFAULT default_expression
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
DEFAULT
Meghatározza a használtINSERT
oszlop értékét, illetveMERGE ... INSERT
azt, hogy az oszlop nincs-e megadva.Ha nincs megadva
DEFAULT NULL
alapértelmezett érték a null értékű oszlopok esetében.default_expression
lehetnek 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
- Táblaértékelő generátorfüggvények
default_expression
nem tartalmazhat al lekérdezést.DEFAULT
a ,JSON
,ORC
ésPARQUET
a források esetébenCSV
támogatott.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
rand
current_timestamp
az értéket egyszer számítja ki aALTER TABLE
vé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 alapértelmezett beállítást ad
ALTER COLUMN
meg, a meglévő sorokat ez a változás nem érinti.-
A következőkre vonatkozik: Databricks SQL Databricks Runtime 12.2 LTS és a Unity Catalog felett csak
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Oszlopmaszk-függvényt ad hozzá a bizalmas adatok anonimizálásához. Az oszlop minden jövőbeli 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, amelyek során a függvény megvizsgálhatja az invokáló felhasználó identitását és/vagy csoporttagságát annak eldöntéséhez, hogy újra ki kívánja-e használni az értéket.
DROP MASK
Csak a Következőre vonatkozik: Unity Catalog
Fontos
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 újabb
Címkék alkalmazása az oszlopra. Rendelkeznie
apply_tag
kell engedéllyel ahhoz, hogy címkéket vegyen fel az oszlopba.tag_name
Egy literál
STRING
. Atag_name
táblának vagy oszlopnak egyedinek kell lennie.tag_value
Egy literál
STRING
.
UNSET TAGS ( tag_name [, ...] )
A következőkre vonatkozik: Databricks SQL Databricks Runtime 13.3 LTS és újabb
Távolítsa el a címkéket az oszlopból. Rendelkeznie
apply_tag
kell engedéllyel ahhoz, hogy eltávolítsa a címkéket az oszlopból.tag_name
Egy literál
STRING
. Atag_name
táblának vagy oszlopnak egyedinek kell lennie.
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 Delta Lake-táblá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ért lásd : Oszlopok átnevezése és elvetése Delta Lake-oszlopleképezéssel.
Syntax
DROP [COLUMN | COLUMNS] [ IF EXISTS ] ( { {column_identifier | field_name} [, ...] )
Paraméterek
IF EXISTS
Ha megadja
IF EXISTS
, 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.
RENAME 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 Delta Lake-tábla oszlopának vagy mezőjének átnevezése.
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 el lesznek dobva. Idegen kulcsok esetén a táblának kell lennie, amelyen az idegen kulcs definiálva van.
A követelményekért lásd : Oszlopok átnevezése és elvetése Delta Lake-oszlopleképezéssel.
Syntax
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ő teljes neve.
-
Az új mezőazonosító. Az azonosítónak egyedinek kell lennie a helyi szerkezeten belül.
Példák
Lásd az ALTER TABLE példákat.