hana-cli
Version:
HANA Developer Command Line Interface
1,060 lines (753 loc) • 26.3 kB
Markdown
# SAP HANA CLI Command Structure Reference
This document provides visual diagrams and quick reference guides for commonly used `hana-cli` commands. Each command diagram shows the command structure, key parameters, and typical usage patterns.
> [!NOTE]
> This page is a high-level reference. For authoritative command syntax and full option details, use `hana-cli [command] --help` and the command pages under `/02-commands/`.
## Table of Contents
- [Connection Commands](#connection-commands)
- [Data Operations](#data-operations)
- [Database Inspection](#database-inspection)
- [HDI Container Management](#hdi-container-management)
- [Backup & Recovery](#backup--recovery)
- [Performance Analysis](#performance-analysis)
- [Mass Operations](#mass-operations)
- [Cloud Integration](#cloud-integration)
---
## Connection Commands
### connect
**Purpose**: Establish and save connection to SAP HANA database
```mermaid
graph TB
A["hana-cli connect<br/>[user] [password]"] --> B["Connection Parameters"]
B --> B1["-n, --connection<br/>host:port"]
B --> B2["-u, --user<br/>username"]
B --> B3["-p, --password<br/>password"]
B --> B4["--uk, --userstorekey<br/>HDB key"]
B --> B5["-e, --encrypt<br/>SSL/TLS"]
B --> B6["-t, --trustStore<br/>Trust cert"]
B --> C["Output Options"]
C --> C1["-s, --save<br/>Save to file"]
A --> D["Result"]
D --> E["default-env-admin.json"]
D --> F["Ready to Use"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
style F fill:#51CF66,color:#fff
```
**Connection Quick Examples**:
```bash
# Interactive connection (prompts for details)
hana-cli connect
# Direct connection with credentials
hana-cli connect -n localhost:30013 -u DBUSER -p mypassword -s
# Using HDB Userstore key
hana-cli connect --uk MYHDBKEY -s
```
**Aliases**: `c`, `login`
---
### copy2DefaultEnv
**Purpose**: Convert .env file to default-env.json format
```mermaid
graph TB
A[".env File"] --> B["hana-cli copy2DefaultEnv"]
B --> C["Parse VCAP_SERVICES"]
C --> D["Format for HANA"]
D --> E["default-env.json"]
style A fill:#FF6B6B,color:#fff
style B fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
---
**Aliases**: `copyDefaultEnv`, `copyDefault-Env`, `copy2defaultenv`, `copydefaultenv`, `copydefault-env`
---
## Data Operations
### export
**Purpose**: Export data from tables/views to file
```mermaid
graph TD
A["hana-cli export"] --> B["Source Configuration"]
B --> B1["-s, --schema<br/>**CURRENT_SCHEMA**"]
B --> B2["-t, --table<br/>table name"]
B --> B3["-p, --profile<br/>hana/postgres/sqlite"]
A --> C["Output Configuration"]
C --> C1["-o, --output<br/>file path"]
C --> C2["-f, --format<br/>csv/json/excel"]
C --> C3["-l, --limit<br/>1000 rows"]
A --> D["Operation Options"]
D --> D1["-b, --batch<br/>1000 records"]
D --> D2["-to, --timeout<br/>3600 seconds"]
D --> D3["-dr, --dryRun<br/>preview"]
A --> E["Result"]
E --> F["Data File"]
style A fill:#0070C0,color:#fff
style F fill:#51CF66,color:#fff
```
**Export Quick Examples**:
```bash
# Export table to CSV (default)
hana-cli export -t CUSTOMERS -s SALES
# Export to JSON with limit
hana-cli export -t PRODUCTS -f json -l 500 -o products.json
# Dry-run preview without saving
hana-cli export -t ORDERS -f csv --preview
# Export from specific profile
hana-cli export -t TABLE -p production
```
**Aliases**: `exp`, `downloadData`, `downloaddata`
---
### import
**Purpose**: Import data from file into table
```mermaid
graph TD
A["hana-cli import"] --> B["Source File"]
B --> B1["-n, --filename<br/>input file"]
B --> B2["-o, --output<br/>csv/excel"]
B --> B3["--worksheet<br/>sheet index"]
A --> C["Target Configuration"]
C --> C1["-t, --table<br/>target table"]
C --> C2["-s, --schema<br/>**CURRENT_SCHEMA**"]
C --> C3["-m, --matchMode<br/>auto/order/name"]
A --> D["Import Options"]
D --> D1["--truncate<br/>truncate target"]
D --> D2["-b, --batchSize<br/>1000 records"]
D --> D3["-dr, --dryRun<br/>preview"]
D --> D4["--maxErrorsAllowed<br/>-1 unlimited"]
A --> E["Result"]
E --> F["Data Imported"]
style A fill:#0070C0,color:#fff
style F fill:#51CF66,color:#fff
```
**Import Quick Examples**:
```bash
# Import CSV into a target table
hana-cli import -n users.csv -t USERS
# Import Excel file from worksheet 1
hana-cli import -n orders.xlsx -t ORDERS --worksheet 1
# Import with dry-run preview
hana-cli import -n data.csv -t MYTABLE --preview
# Import with explicit match mode
hana-cli import -n large.csv -t TABLE -m name
```
**Aliases**: `imp`, `uploadData`, `uploaddata`
---
### tableCopy
**Purpose**: Copy table structure or data between tables/schemas
```mermaid
graph TD
A["hana-cli tableCopy"] --> B["Source"]
B --> B1["--sourceTable/-st<br/>name"]
B --> B2["--sourceSchema/-ss<br/>**CURRENT_SCHEMA**"]
B --> B3["-p, --profile<br/>database"]
A --> C["Target"]
C --> C1["--targetTable/-tt<br/>name"]
C --> C2["--targetSchema/-ts<br/>**CURRENT_SCHEMA**"]
A --> D["Copy Options"]
D --> D1["--structureOnly/-so<br/>no data"]
D --> D2["--dataOnly/-do<br/>no structure"]
D --> D3["-b, --batch<br/>1000 records"]
D --> D4["-dr, --dryRun<br/>preview"]
D --> D5["-l, --limit<br/>max rows"]
D --> D6["-to, --timeout<br/>3600 seconds"]
A --> E["Result"]
E --> E1["Structure Copied"]
E --> E2["Data Copied"]
style A fill:#0070C0,color:#fff
style E1 fill:#51CF66,color:#fff
style E2 fill:#51CF66,color:#fff
```
**Table Copy Quick Examples**:
```bash
# Copy structure only (no data)
hana-cli tableCopy --sourceTable ORDERS --targetTable ORDERS_ARCHIVE -so
# Copy data only to existing table
hana-cli tableCopy --sourceTable TABLE1 --targetTable TABLE2 -do
# Copy between schemas
hana-cli tableCopy -st PROD.CUSTOMERS -tt DEV.CUSTOMERS
# Copy with preview
hana-cli tableCopy --sourceTable ORDERS --targetTable ORDERS_BKP --preview
```
**Aliases**: `tablecopy`, `copyTable`, `copytable`
---
### dataSync
**Purpose**: Synchronize data between source and target
```mermaid
graph TD
A["hana-cli dataSync"] --> B["Source"]
B --> B1["--sourceConnection/-sc"]
B --> B2["-s, --schema"]
A --> C["Target"]
C --> C1["--targetConnection/-tc"]
C --> C2["-t, --table"]
A --> D["Sync Strategy"]
D --> D1["-m, --syncMode<br/>full/incremental"]
D --> D2["-k, --keyColumns<br/>matching keys"]
D --> D3["--cr, --conflictResolution<br/>source/target/skip"]
A --> E["Options"]
E --> E1["-b, --batchSize<br/>size"]
E --> E2["--validationMode<br/>full/sample/none"]
E --> E3["--syncDelete<br/>sync deletes"]
E --> E4["--dryRun<br/>preview"]
style A fill:#0070C0,color:#fff
```
---
## Database Inspection
### tables
**Purpose**: List tables in current or specified schema
```mermaid
graph TD
A["hana-cli tables"] --> B["Filter Options"]
B --> B1["-s, --schema<br/>**CURRENT_SCHEMA**"]
B --> B2["-p, --profile<br/>database"]
B --> B3["table-name<br/>pattern"]
A --> C["Output Options"]
C --> C1["-l, --limit<br/>200 results"]
C --> C2["-o, --output<br/>tbl/json/csv"]
C --> C3["-q, --quiet<br/>minimal output"]
A --> D["Result"]
D --> E["Table List"]
E --> E1["Table names"]
E --> E2["Type info"]
E --> E3["Row counts"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# List all tables in current schema
hana-cli tables
# List tables in specific schema
hana-cli tables -s PRODUCTION
# List with limit and JSON output
hana-cli tables -l 50 -o json
# Search for specific pattern
hana-cli tables CUST*
```
**Aliases**: `t`, `tbl`, `listTables`
---
### inspectTable
**Purpose**: Detailed inspection of table structure and metadata
```mermaid
graph TD
A["hana-cli inspectTable<br/>[schema] [table]"] --> B["Specification"]
B --> B1["-s, --schema<br/>**CURRENT_SCHEMA**"]
B --> B2["-t, --table<br/>name"]
A --> C["Output Format"]
C --> C1["-o, --output<br/>default/cds/edmx/json"]
C --> C2["-q, --quoted<br/>identifiers"]
C --> C3["-hana<br/>HANA types"]
A --> D["Results"]
D --> D1["Columns & Types"]
D --> D2["Keys & Indexes"]
D --> D3["Constraints"]
D --> D4["Statistics"]
A --> E["Output Options"]
E --> E1[".cds format"]
E --> E2[".edmx/OData"]
E --> E3["JSON schema"]
style A fill:#0070C0,color:#fff
style E1 fill:#9D55F0,color:#fff
style E2 fill:#9D55F0,color:#fff
style E3 fill:#9D55F0,color:#fff
```
**Quick Examples**:
```bash
# Inspect table (default output)
hana-cli inspectTable -s MYSCHEMA -t CUSTOMERS
# Get as CDS entity
hana-cli inspectTable MYSCHEMA CUSTOMERS -o cds
# Get as OData/EDMX
hana-cli inspectTable MYSCHEMA CUSTOMERS -o edmx
# Get as JSON schema
hana-cli inspectTable -t ORDERS -o json
```
**Aliases**: `it`, `inspectTable`, `table`
---
### views
**Purpose**: List views in schema
```mermaid
graph TB
A["hana-cli views"] --> B["-s, --schema<br/>**CURRENT_SCHEMA**"]
A --> C["-l, --limit<br/>200"]
A --> D["-p, --profile<br/>database"]
A --> E["View List"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
**Aliases**: `v`, `listViews`
---
### procedures
**Purpose**: List stored procedures in schema
```mermaid
graph TB
A["hana-cli procedures"] --> B["-s, --schema<br/>**CURRENT_SCHEMA**"]
A --> C["-l, --limit<br/>200"]
A --> D["-p, --profile<br/>database"]
A --> E["Procedure List"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
**Aliases**: `p`, `listProcs`, `ListProc`, `listprocs`, `Listproc`, `listProcedures`, `listprocedures`, `sp`
---
## HDI Container Management
### containers
**Purpose**: List HDI containers
```mermaid
graph TD
A["hana-cli containers"] --> B["Filter Options"]
B --> B1["-c, --container<br/>name pattern"]
B --> B2["-g, --group<br/>container group"]
A --> C["Execution Options"]
C --> C1["-l, --limit<br/>200"]
A --> D["Result"]
D --> E["Container List"]
E --> E1["Name"]
E --> E2["Group"]
E --> E3["Status"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# List all containers
hana-cli containers
# List specific container group
hana-cli containers -g MYGROUP
# Search with pattern
hana-cli containers -c "DEV*"
```
**Aliases**: `cont`, `listContainers`
---
### createContainer
**Purpose**: Create new HDI container
```mermaid
graph TD
A["hana-cli createContainer<br/>[container] [group]"] --> B["Specification"]
B --> B1["-c, --container<br/>name"]
B --> B2["-g, --group<br/>group name"]
A --> C["Options"]
C --> C1["-s, --save<br/>save default-env"]
C --> C2["-e, --encrypt<br/>SSL/TLS"]
A --> D["Result"]
D --> E["Container Created"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# Create container in default group
hana-cli createContainer MYCONTAINER
# Create with specific group
hana-cli createContainer MYCONTAINER -g MYGROUP
# Create with encryption enabled
hana-cli createContainer HC01 -g APPS -e
```
**Aliases**: `cc`, `cCont`
---
## Backup & Recovery
### backup
**Purpose**: Create backups of tables, schemas, or databases
```mermaid
graph TD
A["hana-cli backup<br/>[target] [name]"] --> B["Backup Scope"]
B --> B1["--backupType, --type<br/>table/schema/database"]
B --> B2["--target, --tgt<br/>object name"]
B --> B3["-s, --schema<br/>**CURRENT_SCHEMA**"]
A --> C["Backup Options"]
C --> C1["-f, --format<br/>csv/binary/parquet"]
C --> C2["-c, --compress<br/>true/false"]
C --> C3["--destination, --dest<br/>directory"]
C --> C4["-n, --name<br/>backup name"]
A --> D["Data Options"]
D --> D1["--withData<br/>include data"]
D --> D2["-o, --overwrite<br/>replace"]
A --> E["Result"]
E --> E1["Backup File"]
E --> E2["Metadata"]
style A fill:#0070C0,color:#fff
style E1 fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# Backup a table
hana-cli backup --target CUSTOMERS -s SALES
# Backup entire schema
hana-cli backup PRODUCTION --type schema
# Backup with compression
hana-cli backup --target TABLE -f csv -c true --dest ./backups
# Backup without data
hana-cli backup MYSCHEMA --type schema --withData false
```
**Aliases**: `bkp`, `createBackup`
---
### restore
**Purpose**: Restore from backup
```mermaid
graph TD
A["hana-cli restore<br/>[backupFile]"] --> B["Backup Source"]
B --> B1["--backupFile/-bf<br/>file path"]
B --> B2["--target/-tgt<br/>object name"]
A --> C["Target Configuration"]
C --> C1["-s, --schema<br/>target schema"]
C --> C2["--overwrite/-ow<br/>replace data"]
C --> C3["--dropExisting/-de<br/>drop first"]
A --> D["Options"]
D --> D1["-b, --batch<br/>1000"]
D --> D2["--continueOnError/-coe<br/>skip errors"]
D --> D3["-dr, --dryRun<br/>preview"]
A --> E["Result"]
E --> E1["Data Restored"]
style A fill:#0070C0,color:#fff
style E1 fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# Restore from backup file
hana-cli restore --backupFile customers.csv --target CUSTOMERS
# Restore with overwrite
hana-cli restore --backupFile ./backups/data.csv --target TABLE -ow
# Restore to different schema
hana-cli restore --backupFile backup.csv --target TABLE -s ALTERNATIVE_SCHEMA
# Dry-run restore
hana-cli restore --backupFile data.csv -t TABLE --preview
```
**Aliases**: `rst`, `restoreBackup`
---
## Performance Analysis
### queryPlan
**Purpose**: Visualize SQL query execution plan
```mermaid
graph TD
A["hana-cli queryPlan"] --> B["Query Input"]
B --> B1["-q, --sql<br/>SQL statement"]
A --> D["Result"]
D --> E["Execution Plan"]
D --> F["Operator & Cost Details"]
style A fill:#0070C0,color:#fff
style E fill:#FFD93D,color:#000
style F fill:#FFD93D,color:#000
```
**Quick Examples**:
```bash
# Analyze query execution plan
hana-cli queryPlan -q "SELECT * FROM CUSTOMERS WHERE ID = 1"
# Get JSON output
hana-cli queryPlan --sql "SELECT * FROM ORDERS"
```
**Aliases**: _None_
---
### alerts
**Purpose**: View database alerts and warnings
```mermaid
graph TD
A["hana-cli alerts"] --> B["Filter Options"]
B --> B1["-s, --severity<br/>all/CRITICAL/WARNING/INFO"]
B --> B2["-l, --limit<br/>100"]
B --> B3["--ack, --acknowledge<br/>alert id"]
B --> B4["--del, --delete<br/>alert id"]
A --> C["Result"]
C --> C1["Alert List"]
C --> C2["Severity Levels"]
C --> C3["Timestamps"]
style A fill:#0070C0,color:#fff
style C1 fill:#FF6B6B,color:#fff
```
**Quick Examples**:
```bash
# List all alerts
hana-cli alerts
# Show only high severity
hana-cli alerts -s CRITICAL
# Limit to 20 results
hana-cli alerts -l 20
```
**Aliases**: `a`, `alert`
---
### tableHotspots
**Purpose**: Identify frequently accessed tables
```mermaid
graph TD
A["hana-cli tableHotspots"] --> B["Filter Options"]
B --> B1["-s, --schema<br/>**CURRENT_SCHEMA**"]
B --> B2["-t, --table<br/>*"]
B --> B3["-p, --profile<br/>database"]
A --> C["Statistics"]
C --> C1["--includePartitions<br/>true"]
C --> C2["-l, --limit<br/>200"]
A --> D["Result"]
D --> E["Access Statistics"]
E --> E1["Read Count"]
E --> E2["Write Count"]
E --> E3["Partition Info"]
style A fill:#0070C0,color:#fff
style E fill:#FFD93D,color:#000
```
---
## Mass Operations
### massConvert
**Purpose**: Bulk convert tables to different formats
```mermaid
graph TD
A["hana-cli massConvert"] --> B["Source Selection"]
B --> B1["-s, --schema<br/>**CURRENT_SCHEMA**"]
B --> B2["-o, --object<br/>pattern"]
B --> B3["-l, --limit<br/>1000"]
A --> C["Conversion Target"]
C --> C1["-f, --format<br/>cds/hdbTable/hdbMigration"]
C --> C2["-d, --destination<br/>dir"]
A --> D["Options"]
D --> D1["-dr, --dryRun<br/>preview"]
D --> D2["--batch<br/>size"]
D --> D3["--log<br/>enable logging"]
A --> E["Result"]
E --> E1["Converted Files"]
E --> E2["Status Report"]
style A fill:#0070C0,color:#fff
style E1 fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# Convert tables to CDS format (preview)
hana-cli massConvert -s MYSCHEMA -f cds --preview
# Convert to HDBTable format
hana-cli massConvert -s PRODUCTION -f hdbTable -d ./artifacts
# Convert specific tables by pattern
hana-cli massConvert -o "CUST*" -f cds
```
**Aliases**: `mc`, `massconvert`, `massConv`, `massconv`
---
### massGrant
**Purpose**: Grant permissions on multiple objects
```mermaid
graph TD
A["hana-cli massGrant"] --> B["Target Selection"]
B --> B1["-s, --schema<br/>schema"]
B --> B2["-o, --object<br/>pattern"]
A --> C["Permission Details"]
C --> C1["-g, --grantee<br/>user/role"]
C --> C2["-p, --privilege<br/>SELECT/INSERT/etc"]
C --> C3["--withGrantOption<br/>true/false"]
A --> D["Options"]
D --> D1["-dr, --dryRun<br/>preview"]
D --> D2["-l, --limit<br/>1000"]
D --> D3["--log<br/>logging"]
A --> E["Result"]
E --> E1["Grants Applied"]
style A fill:#0070C0,color:#fff
style E1 fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# Grant SELECT to user (preview)
hana-cli massGrant -s MYSCHEMA -o CUST* -g DEVELOPER -p SELECT --preview
# Grant with grant option enabled
hana-cli massGrant -s SCHEMA -g ADMIN -p "SELECT,INSERT" --withGrantOption
# Apply grants with logging
hana-cli massGrant -o "TABLE*" -g USERS -p SELECT --log
```
**Aliases**: `mg`, `massgrant`, `massGrn`, `massgrn`
---
### massDelete
**Purpose**: Bulk-delete database objects that match filters and patterns
```mermaid
graph TD
A["hana-cli massDelete"] --> B["Target Selection"]
B --> B1["-s, --schema<br/>schema"]
B --> B2["-o, --object<br/>pattern"]
A --> C["Delete Criteria"]
C --> C1["-t, --objectType<br/>TABLE/VIEW/etc"]
C --> C2["-l, --limit<br/>1000 objects"]
A --> D["Options"]
D --> D1["-dr, --dryRun<br/>preview"]
D --> D2["-f, --force<br/>skip confirmation"]
D --> D3["--log<br/>logging"]
D --> D4["-i, --includeSystem<br/>include system objects"]
A --> E["Result"]
E --> E1["Rows Deleted"]
style A fill:#0070C0,color:#fff
style E1 fill:#FF6B6B,color:#fff
```
**Quick Examples**:
```bash
# Preview delete for matching objects
hana-cli massDelete -o "ARCHIVE_*" --preview
# Force delete including system objects
hana-cli massDelete -s STAGING -o TEMP* -f -i
```
**Aliases**: `md`, `massdelete`, `massDel`, `massdel`
---
## Cloud Integration
### btp
**Purpose**: Set BTP target for commands
```mermaid
graph TB
A["hana-cli btp"] --> B["Target Level"]
B --> B1["Global Account"]
B --> B2["Directory"]
B --> B3["Subaccount"]
A --> C["Configuration"]
C --> C1["--subaccount/-sa<br/>subaccount ID"]
C --> C2["[directory] [subaccount]<br/>positional args"]
A --> D["Result"]
D --> E["BTP Context Set"]
D --> F["Ready for BTP Commands"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
style F fill:#51CF66,color:#fff
```
**Quick Examples**:
```bash
# Set subaccount target
hana-cli btp --sa myaccount
# Set directory + subaccount using positional args
hana-cli btp mydirectory myaccount
# Show current BTP context
hana-cli btpInfo
```
**Aliases**: `btpTarget`, `btptarget`, `btp`
---
### activateHDI
**Purpose**: Activate HDI service in tenant
```mermaid
graph TB
A["hana-cli activateHDI"] --> B["-t, --tenant<br/>tenant ID"]
A --> C["Note: Must run in SYSTEMDB"]
B --> D["HDI Activated"]
style A fill:#0070C0,color:#fff
style D fill:#51CF66,color:#fff
```
**Aliases**: `ahdi`, `ah`
---
## Command Pattern Reference
### List Commands Pattern
Many list commands follow this general pattern:
```mermaid
graph TB
A["hana-cli [command]"] --> B["Filters"]
B --> B1["-s, --schema<br/>**CURRENT_SCHEMA**"]
B --> B2["-p, --profile<br/>database profile"]
B --> B3["pattern<br/>optional pattern"]
A --> C["Output"]
C --> C1["-l, --limit<br/>200 (default)"]
C --> C2["-o, --output<br/>tbl/json/csv"]
C --> C3["--quiet<br/>minimal"]
A --> D["Result"]
D --> E["Filtered List"]
style A fill:#0070C0,color:#fff
style E fill:#51CF66,color:#fff
```
**Examples include**: `tables`, `views`, `procedures`, `functions`, `indexes`, `schemas`, `users`, `roles`, `sequences`, `synonyms`, `partitions`, `columnStats`, `spatialData`, `ftIndexes`, `graphWorkspaces`, `tableHotspots`, `tableGroups`, `calcViewAnalyzer`
---
### Data Operation Pattern
Many data operations follow this general pattern:
```mermaid
graph TD
A["hana-cli [operation]"] --> B["Source/Target"]
B --> B1["--source*<br/>source location"]
B --> B2["--target*<br/>target location"]
A --> C["Data Configuration"]
C --> C1["-f, --format<br/>format type"]
C --> C2["-l, --limit<br/>row limit"]
C --> C3["-b, --batch<br/>batch size"]
A --> D["Safety Options"]
D --> D1["-dr, --dryRun<br/>preview"]
D --> D2["--timeout<br/>3600 sec"]
D --> D3["-p, --profile<br/>database"]
A --> E["Result"]
E --> E1["Operation Completed"]
style A fill:#0070C0,color:#fff
style E1 fill:#51CF66,color:#fff
```
**Examples include**: `export`, `import`, `dataSync`, `compareData`, `compareSchema`, `tableCopy`, `dataProfile`, `dataDiff`, `duplicateDetection`
---
### Parameter Inheritance Hierarchy
```mermaid
graph TD
A["Global Parameters"] --> A1["-a, --admin"]
A --> A2["--conn<br/>connection file"]
A --> A3["-d, --debug"]
A --> A4["--quiet/--disableVerbose"]
A --> B["Standard Parameters"]
B --> B1["-s, --schema"]
B --> B2["-l, --limit"]
B --> B3["-o, --output"]
B --> B4["-p, --profile"]
A --> C["Command-Specific"]
C --> C1["Various parameters"]
C --> C2["Depends on command"]
A1 -->|applies to all| D["Any Command"]
B1 -->|applies to many| D
C1 -->|applies to specific| D
style A fill:#0070C0,color:#fff
style B fill:#9D55F0,color:#fff
style C fill:#FF6B6B,color:#fff
```
---
## Quick Command Selection Guide
```mermaid
graph TD
A["What do you want to do?"] --> B{Command Type}
B -->|List Objects| C["tables, views, procedures<br/>functions, indexes, schemas<br/>users, roles, sequences<br/>synonyms, partitions"]
B -->|Inspect Objects| D["inspectTable, inspectView<br/>inspectProcedure<br/>inspectFunction<br/>inspectIndex"]
B -->|Data Operations| E["export, import<br/>tableCopy, dataSync<br/>compareData"]
B -->|Performance Analysis| F["queryPlan, tableHotspots<br/>alerts, blocking, longRunning<br/>expensiveStatements"]
B -->|Mass Operations| G["massConvert, massGrant<br/>massDelete, massUpdate<br/>massExport"]
B -->|Backup/Recovery| H["backup, backupList<br/>backupStatus, restore"]
B -->|Cloud Integration| I["btp, btpInfo<br/>activateHDI<br/>containers, hdi"]
B -->|Connection| J["connect, copy2DefaultEnv<br/>copy2Env, serviceKey"]
C --> K["See table/view<br/>names & count"]
D --> L["See structure<br/>columns, types<br/>keys, indexes"]
E --> M["Move/copy<br/>data between<br/>locations"]
F --> N["Find<br/>performance<br/>issues"]
G --> O["Apply<br/>operations to<br/>multiple objects"]
H --> P["Backup and<br/>recovery<br/>operations"]
I --> Q["Cloud & BTP<br/>operations"]
J --> R["Setup & manage<br/>connections"]
style A fill:#0070C0,color:#fff
style B fill:#FF6B6B,color:#fff
style C fill:#51CF66,color:#fff
style D fill:#51CF66,color:#fff
style E fill:#51CF66,color:#fff
style F fill:#51CF66,color:#fff
style G fill:#51CF66,color:#fff
style H fill:#51CF66,color:#fff
style I fill:#51CF66,color:#fff
style J fill:#51CF66,color:#fff
```
---
## Parameter Quick Reference
### Common Parameters Used Across Commands
| Parameter | Alias | Type | Default | Description |
| --------- | ----- | ------ | --------- | ----------- |
| `--admin` | `-a` | boolean | false | Use admin credentials |
| `--conn` | — | string | — | Connection file override |
| `--schema` | `-s` | string | `**CURRENT_SCHEMA**` | Target schema |
| `--profile` | `-p` | string | — | Database profile |
| `--limit` | `-l` | number | 200 (lists) / 1000 (data) | Limit results |
| `--output` | `-o` | string | tbl | Output format |
| `--dryRun` | `-dr`, `--preview` | boolean | false | Preview without executing |
| `--format` | `-f` | string | csv | Output/input format |
| `--batchSize` | `-b` (sometimes `--batch`) | number | 1000 | Records per batch |
| `--timeout` | `-to` | number | 3600 | Operation timeout (sec) |
| `--debug` | `-d` | boolean | false | Debug output |
| `--quiet` | `--disableVerbose` | boolean | false | Minimal output (command-dependent) |
---
## Getting More Information
For detailed documentation on any command, use:
```bash
# Show help for specific command
hana-cli [command] --help
hana-cli [command] -h
# Show overall help
hana-cli --help
hana-cli help
# See all available commands
hana-cli
```
---
## See Also
- [Main README](../../README.md) - Overview and features
- [Commands Index](/02-commands/) - Full command documentation
- [All Commands A-Z](/02-commands/all-commands) - Complete command catalog
- [Utils Documentation](../../utils/README.md) - Internal utilities
- [Routes Documentation](../../routes/README.md) - HTTP API endpoints
- [Swagger/OpenAPI](http://localhost:3010/api-docs) - Interactive API docs
- [Web Applications](../../app/README.md) - Web UI documentation