Gramática SQL

Los usuarios del área de trabajo de Oracle AI Data Platform pueden utilizar SQL para automatizar sus cargas de trabajo DDL.

Gramática SQL de catálogo

Los objetos de catálogo soportan la gramática SQL mostrada para las cargas de trabajo DDL.

Oracle AI Data Platform Workbench soporta todos los tipos de datos SQL de Spark estándar. Para obtener más información, consulte Documentación de Apache Spark - Tipos de dato soportados.

Tabla 46-1 Gramática SQL de catálogo estándar y externo

Operación Gramática
Crear Catálogo

Catálogo

CREATE CATALOG [ IF NOT EXISTS ] <<catalog_name>> [ PROPERTIES (DESCRIPTION = description ) ] OPTIONS ( { option_name = option_value } [ , ... ] )

Catálogo externo

CREATE EXTERNAL CATALOG [ IF NOT EXISTS ] <<catalog_name>> [PROPERTIES ( DESCRIPTION description ) ]OPTIONS ( { option_name = option_value } [ , ... ] )

OPTIONS tendrá detalles de conexión

Catálogo externo: ejemplo de Oracle Autonomous AI Lakehouse

wt = base64 encoded wallet contents
create_sql="create external catalog if not exists
catalog_adw options
 ('wallet.content' = '{wt}', 'type' = 'ORACLE_ADW',
'user.name' = 'ADMIN',
 'tns' = 'adw23ai_high', 'password' =
 'xxxxx','wallet.password' = 'xxxxx')"

Respuesta

Catalog <<catalog_name>> created successfully

Error

<<SQL Command>> failed due to <<reason>>
Modificar catálogo

Modificar nombre de catálogo

ALTER CATALOG old_catalog_name RENAME new_catalog_name;

Modificar descripción de catálogo

ALTER CATALOG <catalog-name> set properties (DESCRIPTION=<property-value>)

Modificar opciones de catálogo (conn)

ALTER CATALOG <catalog-name> set options (option_name = option_value)

Respuesta

Catalog <<catalog_name>> updated successfully

Error

<<SQL Command>> failed due to <<reason>>
Suprimir catálogo
DROP CATALOG [ IF EXISTS ] catalog_name

Por defecto, durante el catálogo DROP, también se suprimirán todos los objetos secundarios

Respuesta

Catalog <<catalog_name>> dropped successfully

Error

<<SQL Command>> failed due to <<reason>>
Catálogos de Lista
SHOW CATALOGS [ [ LIKE ] [ regex_pattern ] [ TYPE = EXTERNAL CATALOG | CATALOG ]

regex_pattern: patrón de expresión regular que se utiliza para filtrar los resultados de la sentencia.

Respuesta:
Catálogo Tipo
<<nombre_catálogo>> Catálogo | Catálogo externo
<<nombre_catálogo>> Catálogo | Catálogo externo
<<nombre_catálogo>> Catálogo | Catálogo externo

Error

<<SQL Command>> failed due to <<reason>>
Describir catálogo
DESC CATALOG <<catalog_name>>
DESCRIBE CATALOG <<catalog_name>>
Respuesta (catálogo estándar):
Atributo Valor
Nombre Nombre de catálogo estándar
Tipo Catálogo estándar
Descripción Descripción de catálogo estándar
Creado por Principal que creó el catálogo estándar
Creado el Fecha y hora de creación
Actualizado por Principal que actualizó por última vez el catálogo estándar
Actualizado el Fecha y hora de última actualización
Respuesta (catálogo externo):
Atributo Valor
Nombre Nombre de catálogo externo
Tipo Catálogo externo
Tipo de Origen Origen del catálogo externo (por ejemplo, Oracle Autonomous AI Lakehouse)
Descripción Descripción de catálogo externo
Creado por Principal que ha creado el catálogo externo
Creado el Fecha y hora de creación
Actualizado por Principal que actualizó por última vez el catálogo externo
Actualizado el Fecha y hora de última actualización
Detalles de la Conexión Archivo .json de conexión

Error:

<<SQL Command>> failed due to <<reason>>
Refrescar Catálogo
REFRESH [EXTERNAL] CATALOG <<catalog_name>>
Respuesta:
Refresh Initiated

Gramática SQL de Esquema

El esquema soporta la gramática SQL mostrada para cargas de trabajo DDL.

Oracle AI Data Platform Workbench soporta todos los tipos de datos SQL de Spark estándar. Para obtener más información, consulte Documentación de Apache Spark - Tipos de dato soportados.

Tabla 46-2 Lista de gramática SQL de esquema

Operación Gramática
Crear Esquema
CREATE SCHEMA [IF NOT EXISTS] catalog_name.schema_name

Respuesta

<<SQL Command>> was successfully executed

Error

Error: <<SQL Command>> failed due to <<reason>>
Modificar esquema
Modificar descripción de esquema
ALTER SCHEMA <schema-name> set dbproperties (DESCRIPTION=<property-value>)
Respuesta
<<SQL Command>> was successfully executed
Error
Error: <<SQL Command>> failed due to <<reason>>
Suprimir Esquema
DROP SCHEMA [ IF EXISTS ] <<schema_name>>

Por defecto, durante el esquema DROP, todos los objetos secundarios también se suprimirán

Mostrar Esquemas
SHOW SCHEMAS [ { FROM | IN } catalog_name ] [ [ LIKE ] regex_pattern ]
Ejemplos:
  • SHOW SCHEMAS FROM defaultcatalog1 LIKE 'd*'
  • SHOW SCHEMAS IN defaultcatalog1 LIKE 'd*'
Respuesta:
  Esquema
1 <<esquema_1>>
2 <<esquema_2>>
2 <<esquema_3>>>

Error

Error: <<SQL Command>> failed due to <<reason>>
Describir esquema (obtener detalles)

DESCRIBE SCHEMA <<catalog_name>>.<<schema_name>>

DESCRIBE SCHEMA <<schema_name>>

DESCRIBE SCHEMA <<schema_name>> in Catalog <<catalog_name>>

Atributo Valor
Nombre de Catálogo Nombre de Catálogo
Esquema Nombre del Esquema
Descripción Descripción de esquema
Creado por Usuario que ha creado el catalogo
Creado el Fecha y hora de creación
Actualizado por Usuario que actualizó por última vez el catálogo
Actualizado el Fecha y hora de última actualización
Geográfica Ubicación en el Catálogo
Borrar Esquema drop schema [ IF EXISTS ] <<schema_name>> cascade
Refrescar Esquema
REFRESH SCHEMA IN [EXTERNAL] CATALOG <<catalog_name.schema_name>>
Respuesta:
Refresh Initiated

Gramática de SQL de volumen

Los objetos de volumen soportan la gramática SQL mostrada para las cargas de trabajo DDL.

Oracle AI Data Platform Workbench soporta todos los tipos de datos SQL de Spark estándar. Para obtener más información, consulte Documentación de Apache Spark - Tipos de dato soportados.

Tabla 46-3 Gramática SQL de volumen

Operación Gramática
Crear Volumen
CREATE [ EXTERNAL ] VOLUME [IF NOT EXISTS ] <<catalog_name.schema_name.volume_name>> [ LOCATION location_path ] [ PROPERTIES (DESCRIPTION = description ) ]
Modificar propiedades de volumen
ALTER VOLUME <<volume_name>> { RENAME TO <<new_volume_name>> | [ set properties (DESCRIPTION = description) ] }
Borrar volumen
DROP VOLUME [ IF EXISTS ] <<volume_name>>

O BIEN

DROP VOLUME <<catalog_name>>.<<schema_name>>.<<volume_name>>

Por defecto, durante el volumen DROP, todos los objetos secundarios también se suprimirán

Mostrar volúmenes
SHOW VOLUMES [ { FROM | IN } catalog_name.schema_name ] [ [ LIKE ] regex_pattern } ] 
Describir volumen
DESCRIBE VOLUME volume_name
Atributo Valor
Nombre de Catálogo Nombre de Catálogo
Nombre del Esquema Nombre del Esquema
Nombre de volumen Nombre de volumen
Descripción Descripción del volumen definida por el usuario
Geográfica Ubicación en catálogo
Tipo de volumen Tipo de volumen

Error:

Error: <<SQL Command>> failed due to <<reason>>

Gramática SQL de Tabla

Los objetos de tabla soportan la gramática SQL mostrada para las cargas de trabajo DDL.

Oracle AI Data Platform Workbench soporta todos los tipos de datos SQL de Spark estándar. Para obtener más información, consulte Documentación de Apache Spark - Tipos de dato soportados.

Operación Gramática
Crear Tabla
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <catalog_name>.<schema-name>.<table-name>
[ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ]
USING [HIVE|DELTA, CSV, TXT, ORC, JDBC, PARQUET, etc.]
[ options ( <key1>=<val1>[, ...]) ]
[ PARTITIONED BY (<par-column-name>[, ...]) ]
[ CLUSTERED BY ( <clus-column-name>[, ...])
    [ SORTED BY ( <sort-column-name> [ asc | desc ][, ...]) ]
    INTO <num_buckets> buckets]
[ LOCATION '<path>']
[TBLPROPERTIES ( DESCRIPTION = 'some-description', '<property-name>'='<property-value>'[, ...]) ]

Respuesta:

<<SQL Command>> was successfully executed

Error:

Error: <<SQL Command>> failed due to <<reason>>
Crear tabla gestionada
Crear tabla gestionada
CREATE TABLE <catalog>.<schema>.<table-name> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] USING <format>;

Respuesta:

<<SQL Command>> was successfully executed
Error:
Error: <<SQL Command>> failed due to <<reason>>
Crear tabla gestionada con datos
create datatable <<catalog_name>>.<<schema_name>>.<<table_name>> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] tblproperties ('lakehouse_storage_format'='PARQUET') using parquet with select ( <column1-name>], ... ) from parquet.'oci://bucket@namespace/folder/'

Respuesta:

<<SQL Command>> was successfully executed
Error:
Error: <<SQL Command>> failed due to <<reason>>
Crear Tabla con Soporte Uniforme
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <catalog_name>.<schema-name>.<table-name>
[ ( <column1-name> <column1-type> [comment <column1-comment>], ... ) ]
[TBLPROPERTIES ('delta.universalFormat.enabledFormats' = 'iceberg') ]
Modificar tabla
ALTER TABLE table_old_name RENAME TO table_new_name
ALTER TABLE table_name ADD COLUMNS ( col_spec [ , ... ])
ALTER TABLE table_name DROP { COLUMN | COLUMNS } [ ( ] col_name [ , ... ] [ ) ]
ALTER TABLE table_name RENAME COLUMN col_name TO col_name
ALTER TABLE table_name ADD [IF NOT EXISTS] ( partition_spec [partition_spec ... ] )
ALTER TABLE table_name DROP [ IF EXISTS ] partition_spec [PURGE]
ALTER TABLE table_name set tblproperties (description ='some-description')
Borrar Tabla
DROP TABLE [ IF EXISTS ] table_name [ PURGE ]

Respuesta:

<<SQL Command>> was successfully executed

Error:

Error: <<SQL Command>> failed due to <<reason>>
Mostrar tablas en un esquema
SHOW TABLES in catalog_name.schema_name [ LIKE <regex_pattern> ]

regex_pattern: patrón de expresión regular que se utiliza para filtrar los resultados de la sentencia.

Respuesta:
<<namesake>>,tableName,isTemporary

Error:

<<SQL Command>> failed due to <<reason>>
Describir Tabla
DESCRIBE TABLE [ FORMAT ] catalog_name.schema_name.table_name [ PARTITION (<partition_col_name> = <partition_col_val>, ...) ] [ catalog_name.schema_name.table_name.column_name ]

Formato: si se especifica EXTENDED como formato, se devuelve información de metadatos adicional (como la base de datos principal, el propietario y la hora de acceso).

DESCRIBE TABLE catalog.schema.table Respuesta:

col_name,data_type,comment
DESCRIBE TABLE catalog.schema.table column Respuesta:
info_name,info_value
Refrescar tabla
REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>
Respuesta:
Refresh Initiated

Consultas DML

Puede ejecutar consultas de selección, inserción y supresión de datos mediante los blocs de notas de Oracle AI Data Platform, los scripts de SL, Python y Spark.

Oracle AI Data Platform Workbench soporta actualmente Spark 3.5 con Delta Lake 3.2.0. Para obtener más información sobre las consultas DML, consulte: