Megosztás a következőn keresztül:


ALTER TABLE OSZLOP záradék

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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

  • column_identifier

    A hozzáadni kívánt oszlop neve. A névnek egyedinek kell lennie a táblában.

    Ha nincs FIRST megadva vagy AFTER name meg van adva, a program hozzáfűzi az oszlopot vagy a mezőt a végéhez.

  • field_name

    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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és újabb

    DEFAULT Meghatározza a használt INSERT oszlop értékét, illetve MERGE ... 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:

    default_expression nem tartalmazhat al lekérdezéseket.

    DEFAULTa , JSON, PARQUETés ORC a források esetében CSVtámogatott.

  • data_type

    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.

  • AFTERAzonosító

    Ha meg van adva, az oszlop vagy mező közvetlenül a mező vagy oszlop identifierután lesz hozzáadva.

  • MASZK záradék

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

    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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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

  • column_identifier

    A módosítani kívánt oszlop neve.

  • field_name

    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 lennie STRING .

  • FIRST vagy AFTERazonosító

    Áthelyezi az oszlopot az aktuális helyzetéből az elejére (FIRST) vagy közvetlenül AFTER a identifier. Ez a záradék csak Delta-tábla esetén table_name támogatott.

  • SET NOT NULL vagy DROP 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ékeket DROP NOT NULLtartalmazzon. 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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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) * stepahol n a legkisebb érték felel meg start + 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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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ük NOT NULL definiált oszlopok esetében minden jövőbeli INSERT művelethez meg kell adnia egy értéket

  • SET DEFAULT default_expression

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és újabb

    DEFAULT Meghatározza a használt INSERT oszlop értékét, illetve MERGE ... 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:

    default_expressionnem tartalmazhat al lekérdezést.

    DEFAULTa , JSON, ORCés PARQUET a források esetében CSVtá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 randcurrent_timestamp az értéket egyszer számítja ki a ALTER 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 COLUMNmeg, a meglévő sorokat ez a változás nem érinti.

  • SETMASZK záradék

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

    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:jelölje be az igennel jelölt jelölőnégyzetet 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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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. A tag_name táblának vagy oszlopnak egyedinek kell lennie.

    • tag_value

      Egy literál STRING.

  • UNSET TAGS ( tag_name [, ...] )

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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. A tag_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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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.

  • column_identifier

    A meglévő oszlop neve.

  • field_name

    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:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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

Példák

Lásd az ALTER TABLE példákat.