Grammaire SQL

Les utilisateurs d'Oracle AI Data Platform Workbench peuvent utiliser SQL pour automatiser leurs charges globales DDL.

Grammaire SQL du catalogue

Les objets de catalogue prennent en charge la grammaire SQL répertoriée pour les charges globales DDL.

Oracle AI Data Platform Workbench prend en charge tous les types de données Spark SQL standard. Pour plus d'informations, reportez-vous à Documentation Apache Spark - Types de données pris en charge.

Tableau 46-1 Grammaire SQL de catalogue standard et externe

Opération Grammaire
Créer un catalogue

Catalogue

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

Catalogue externe

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

OPTIONS aura des détails de connexion

Catalogue externe - Exemple 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')"

Réponse

Catalog <<catalog_name>> created successfully

Erreur

<<SQL Command>> failed due to <<reason>>
Modifier le catalogue

Modifier le nom du catalogue

ALTER CATALOG old_catalog_name RENAME new_catalog_name;

Modifier la description du catalogue

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

Modifier les options de catalogue (conn)

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

Réponse

Catalog <<catalog_name>> updated successfully

Erreur

<<SQL Command>> failed due to <<reason>>
Supprimer un catalogue
DROP CATALOG [ IF EXISTS ] catalog_name

Par défaut, lors du catalogue DROP, tous les objets enfant seront également supprimés

Réponse

Catalog <<catalog_name>> dropped successfully

Erreur

<<SQL Command>> failed due to <<reason>>
Répertorier les catalogues
SHOW CATALOGS [ [ LIKE ] [ regex_pattern ] [ TYPE = EXTERNAL CATALOG | CATALOG ]

regex_pattern : modèle d'expression régulière utilisé pour filtrer les résultats de l'instruction.

Réponse :
Catalogue Type
<<nom_catalogue>> Catalogue | Catalogue externe
<<nom_catalogue>> Catalogue | Catalogue externe
<<nom_catalogue>> Catalogue | Catalogue externe

Erreur

<<SQL Command>> failed due to <<reason>>
Décrire le catalogue
DESC CATALOG <<catalog_name>>
DESCRIBE CATALOG <<catalog_name>>
Réponse (Catalogue standard) :
Attribut Value
Nom Nom de catalogue standard
Type Catalogue standard
Description Description du catalogue standard
Créé par Principal ayant créé le catalogue standard
Créé le Date et heure de création
Mis à jour par Principal ayant effectué la dernière mise à jour du catalogue standard
Mis à jour le Date et heure de la dernière mise à jour
Réponse (Catalogue externe) :
Attribut Value
Nom Nom du catalogue externe
Type Catalogue externe
Type de source Source du catalogue externe (par exemple, Oracle Autonomous AI Lakehouse)
Description Description du catalogue externe
Créé par Principal ayant créé le catalogue externe
Créé le Date et heure de création
Mis à jour par Principal ayant effectué la dernière mise à jour du catalogue externe
Mis à jour le Date et heure de la dernière mise à jour
Détails de connexion Fichier .json de connexion

Erreur:

<<SQL Command>> failed due to <<reason>>
Actualiser le catalogue
REFRESH [EXTERNAL] CATALOG <<catalog_name>>
Réponse :
Refresh Initiated

Grammaire SQL du schéma

Les schémas prennent en charge la grammaire SQL répertoriée pour les charges globales DDL.

Oracle AI Data Platform Workbench prend en charge tous les types de données Spark SQL standard. Pour plus d'informations, reportez-vous à Documentation Apache Spark - Types de données pris en charge.

Tableau 46-2 Liste des grammaires SQL de schéma

Opération Grammaire
Créer un schéma
CREATE SCHEMA [IF NOT EXISTS] catalog_name.schema_name

Réponse

<<SQL Command>> was successfully executed

Erreur

Error: <<SQL Command>> failed due to <<reason>>
Modifier le schéma
Modifier la description du schéma
ALTER SCHEMA <schema-name> set dbproperties (DESCRIPTION=<property-value>)
Réponse
<<SQL Command>> was successfully executed
Erreur
Error: <<SQL Command>> failed due to <<reason>>
Supprimer un schéma
DROP SCHEMA [ IF EXISTS ] <<schema_name>>

Par défaut, lors du schéma DROP, tous les objets enfant seront également supprimés

Répertorier les schémas
SHOW SCHEMAS [ { FROM | IN } catalog_name ] [ [ LIKE ] regex_pattern ]
Exemples :
  • SHOW SCHEMAS FROM defaultcatalog1 LIKE 'd*'
  • SHOW SCHEMAS IN defaultcatalog1 LIKE 'd*'
Réponse :
  Schéma
1 <<schéma_1>>
2 <<schéma_2>>
2 <<schéma_3>>

Erreur

Error: <<SQL Command>> failed due to <<reason>>
Décrire le schéma (obtenir les détails)

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

DESCRIBE SCHEMA <<schema_name>>

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

Attribut Value
Nom du catalogue Nom du catalogue
Schéma Nom de schéma
Description Description du schéma
Créé par Utilisateur qui a créé le catalogue
Créé le Date et heure de création
Mis à jour par Utilisateur ayant mis à jour le catalogue en dernier
Mis à jour le Date et heure de la dernière mise à jour
géographique Emplacement du catalogue
Supprimer un schéma drop schema [ IF EXISTS ] <<schema_name>> cascade
Actualiser le schéma
REFRESH SCHEMA IN [EXTERNAL] CATALOG <<catalog_name.schema_name>>
Réponse :
Refresh Initiated

Grammaire SQL de volume

Les objets de volume prennent en charge la grammaire SQL répertoriée pour les charges globales DDL.

Oracle AI Data Platform Workbench prend en charge tous les types de données Spark SQL standard. Pour plus d'informations, reportez-vous à Documentation Apache Spark - Types de données pris en charge.

Tableau 46-3 Grammaire SQL de volume

Opération Grammaire
Créer un volume
CREATE [ EXTERNAL ] VOLUME [IF NOT EXISTS ] <<catalog_name.schema_name.volume_name>> [ LOCATION location_path ] [ PROPERTIES (DESCRIPTION = description ) ]
Modifier les propriétés de volume
ALTER VOLUME <<volume_name>> { RENAME TO <<new_volume_name>> | [ set properties (DESCRIPTION = description) ] }
Supprimer le volume
DROP VOLUME [ IF EXISTS ] <<volume_name>>

OR (OU)

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

Par défaut, pendant le volume DROP, tous les objets enfant seront également supprimés.

Liste des volumes
SHOW VOLUMES [ { FROM | IN } catalog_name.schema_name ] [ [ LIKE ] regex_pattern } ] 
Décrire le volume
DESCRIBE VOLUME volume_name
Attribut Value
Nom du catalogue Nom du catalogue
Nom de schéma Nom de schéma
Nom du volume Nom du volume
Description Description du volume définie par l'utilisateur
géographique Emplacement du catalogue
Type de volume Type de volume

Erreur:

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

Grammaire SQL de table

Les objets table prennent en charge la grammaire SQL répertoriée pour les charges globales LDD.

Oracle AI Data Platform Workbench prend en charge tous les types de données Spark SQL standard. Pour plus d'informations, reportez-vous à Documentation Apache Spark - Types de données pris en charge.

Opération Grammaire
Créer une table
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>'[, ...]) ]

Réponse :

<<SQL Command>> was successfully executed

Erreur:

Error: <<SQL Command>> failed due to <<reason>>
Créer une table gérée
Créer une table gérée
CREATE TABLE <catalog>.<schema>.<table-name> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] USING <format>;

Réponse :

<<SQL Command>> was successfully executed
Erreur:
Error: <<SQL Command>> failed due to <<reason>>
Créer une table gérée avec des données
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/'

Réponse :

<<SQL Command>> was successfully executed
Erreur:
Error: <<SQL Command>> failed due to <<reason>>
Créer une table avec prise en charge 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') ]
Modifier la table
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')
Supprimer une table
DROP TABLE [ IF EXISTS ] table_name [ PURGE ]

Réponse :

<<SQL Command>> was successfully executed

Erreur:

Error: <<SQL Command>> failed due to <<reason>>
Répertorier les tables d'un schéma
SHOW TABLES in catalog_name.schema_name [ LIKE <regex_pattern> ]

regex_pattern : modèle d'expression régulière utilisé pour filtrer les résultats de l'instruction.

Réponse :
<<namesake>>,tableName,isTemporary

Erreur:

<<SQL Command>> failed due to <<reason>>
Décrire la table
DESCRIBE TABLE [ FORMAT ] catalog_name.schema_name.table_name [ PARTITION (<partition_col_name> = <partition_col_val>, ...) ] [ catalog_name.schema_name.table_name.column_name ]

Format : si le format EXTENDED est indiqué, des informations de métadonnées supplémentaires (telles que la base de données parent, le propriétaire et l'heure d'accès) sont renvoyées.

DESCRIBE TABLE catalog.schema.table Réponse :

col_name,data_type,comment
DESCRIBE TABLE catalog.schema.table column Réponse :
info_name,info_value
Régénérer la table
REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>
Réponse :
Refresh Initiated

Requêtes LMD

Vous pouvez exécuter des requêtes de sélection, d'insertion et de suppression sur des données à l'aide des blocs-notes, des scripts SL, Python et Spark d'Oracle AI Data Platform.

Oracle AI Data Platform Workbench prend actuellement en charge Spark 3.5 avec Delta Lake 3.2.0. Pour plus d'informations sur les interrogations LMD, voir :