Tabellen und Indizes erstellen

Erfahren Sie, wie Sie Tabellen und Indizes erstellen.

Das Erstellen einer Tabelle ist der erste Schritt beim Entwickeln Ihrer Anwendung. Sie verwenden die TableRequest-Klasse und Methoden zum Ausführen aller DDL-Anweisungen, wie z.B. Erstellen, Ändern und Löschen von Tabellen. Sie können Tabellenlimits auch mit der Methode TableRequest.setTableLimits festlegen.
Bevor Sie Tabellen erstellen, finden Sie weitere Informationen unter:

Mit der Klasse TableRequest können Sie eine DDL-Anweisung an die Methode TableRequest.setStatement übergeben. Beispiele für DDL-Anweisungen:

/* Create a new table called users */
CREATE IF NOT EXISTS users(id INTEGER,
 name STRING,
 PRIMARY KEY(id));

/* Create a new table called users and set the TTL value to 4 days */
CREATE IF NOT EXISTS users(id INTEGER,
 name STRING,
 PRIMARY KEY(id))
USING TTL 4 days;



/* Create a new index called nameIdx on the name field in the users table */
CREATE INDEX IF NOT EXISTS nameIdx ON users(name);
Hinweis

Das folgende Beispiel setzt voraus, dass das Standard-Compartment in NoSQLHandleConfig beim Abrufen des NoSQL-Handles angegeben wird. Siehe NoSQL-Handle abrufen. Weitere Optionen zum Angeben eines Compartments für die NoSQL-Tabellen finden Sie unter Informationen zu Compartments.

So erstellen Sie eine Tabelle und einen Index mit der Klasse TableRequest und den zugehörigen Methoden:

/* Create a simple table with an integer key and a single json data
 * field  and set your desired table capacity.
 * Set the table TTL value to 3 days.
 */
String createTableDDL = "CREATE TABLE IF NOT EXISTS users " +
 "(id INTEGER, name STRING, " +
 "PRIMARY KEY(id)) USING TTL 3 days";

TableLimits limits = new TableLimits(200, 100, 5);
TableRequest treq = new TableRequest().setStatement(createTableDDL)
 .setTableLimits(limits);

// start the asynchronous operation
TableResult tres = handle.tableRequest(treq);

// wait for completion of the operation
tres.waitForCompletion(handle,
 60000, // wait for 60 sec
 1000); // delay in ms for poll
 

// Create an index called nameIdx on the name field in the users table.
treq = new TableRequest().setStatement("CREATE INDEX 
  IF NOT EXISTS nameIdx ON users(name)
  ");

// start the asynchronous operation
  handle.tableRequest(treq);

// wait for completion of the operation
  tres.waitForCompletion(handle,
   60000, // wait for 60 sec
   1000); // delay in ms for poll

Zugehörige Themen