# Mysql_xdevapi

# Einführung

Diese Erweiterung ermöglicht den Zugriff auf den MySQL Document Store (Dokumentenspeicher) über die X DevAPI. Die X DevAPI ist eine generische API, die von mehreren MySQL-Konnektoren bereitgestellt wird. Sie ermöglicht einen einfachen Zugriff auf relationale Tabellen sowie auf Sammlungen von Dokumenten, die über eine API mit CRUD-ähnlichen Operationen in JSON dargestellt werden.

Die X DevAPI verwendet das X-Protokoll, das Client-Server-Protokoll der neuen Generation des MySQL 8.0-Servers.

Allgemeine Informationen über den MySQL-Dokumentenspeicher sind im Kapitel » MySQL Document Store im MySQL-Handbuch zu finden.

- Installation/Konfiguration
  - Anforderungen
  - Installation
  - Laufzeit-Konfiguration
  - Erstellen/Kompilieren aus dem Quellcode
- Vordefinierte Konstanten
- Changelog
- Beispiele
- Mysql_xdevapi-Funktionen
  - expression — Bindet die Variablen der vorbereiteten Anweisung als Parameter
  - getSession — Baut eine Verbindung zu einem MySQL-Server auf
- mysql_xdevapi\BaseResult — Die BaseResult-Schnittstelle
  - BaseResult::getWarnings — Ruft Warnungen der letzten Operation ab
  - BaseResult::getWarningsCount — Ruft die Anzahl der Warnungen der letzten Operation ab
- mysql_xdevapi\Client — Die Klasse Client
  - mysql_xdevapi\Client::close — Schließt die Client-Verbindung
  - Client::__construct — Der Konstruktor der Klasse Client
  - Client::getClient — Ruft eine Client-Session ab
- mysql_xdevapi\Collection — Die Klasse Collection
  - Collection::add — Fügt einer Sammlung Dokumente hinzu
  - Collection::addOrReplaceOne — Fügt einer Sammlung ein Dokument hinzu oder ersetzt es
  - Collection::__construct — Der Konstruktor der Klasse Collection
  - Collection::count — Ermittelt die Anzahl der Dokumente
  - Collection::createIndex — Erzeugt einen Index für die Sammlung
  - Collection::dropIndex — Löscht den Index einer Sammlung
  - Collection::existsInDatabase — Prüft, ob es die Sammlung in der Datenbank gibt
  - Collection::find — Sucht nach Dokumenten
  - Collection::getName — Ruft den Namen einer Sammlung ab
  - Collection::getOne — Ruft ein Dokument ab
  - Collection::getSchema — Ruft ein Schema-Objekt ab
  - Collection::getSession — Ruft ein Session-Objekt ab
  - Collection::modify — Ändert Dokumente einer Sammlung
  - Collection::remove — Löscht Dokumente einer Sammlung
  - Collection::removeOne — Löscht ein Dokument einer Sammlung
  - Collection::replaceOne — Ersetzt ein Dokument einer Sammlung
- mysql_xdevapi\CollectionAdd — Die Klasse CollectionAdd
  - CollectionAdd::__construct — Der Konstruktor der Klasse CollectionAdd
  - CollectionAdd::execute — Führt eine Anweisung aus
- mysql_xdevapi\CollectionFind — Die Klasse CollectionFind
  - CollectionFind::bind — Bindet einen Wert an den Platzhalter einer Abfrage
  - CollectionFind::__construct — Der Konstruktor der Klasse CollectionFind
  - CollectionFind::execute — Führt eine Anweisung aus
  - CollectionFind::fields — Setzt den Filter für die Felder eines Dokuments
  - CollectionFind::groupBy — Setzt die Kriterien für die Gruppierung
  - CollectionFind::having — Setzt Bedingungen für Aggregatfunktionen
  - CollectionFind::limit — Begrenzt die Anzahl der zurückgegebenen Dokumente
  - CollectionFind::lockExclusive — Führt eine Operation mit EXCLUSIVE LOCK aus
  - CollectionFind::lockShared — Führt eine Operation mit SHARED LOCK aus
  - CollectionFind::offset — Überspringt die angegebene Anzahl von Elementen, die zurückgegeben werden sollen
  - CollectionFind::sort — Setzt die Kriterien für die Sortierung
- mysql_xdevapi\CollectionModify — Die Klasse CollectionModify
  - CollectionModify::arrayAppend — Hängt ein Element an das Array eines Feldes an
  - CollectionModify::arrayInsert — Fügt ein Element in das Array eines Feldes ein
  - CollectionModify::bind — Bindet einen Wert an einen Platzhalter einer Abfrage
  - CollectionModify::__construct — Der Konstruktor der Klasse CollectionModify
  - CollectionModify::execute — Führt eine Änderungsoperation aus
  - CollectionModify::limit — Begrenzt die Anzahl der zu ändernden Dokumente
  - CollectionModify::patch — Patcht ein Dokument
  - CollectionModify::replace — Ersetzt ein Feld eines Dokuments
  - CollectionModify::set — Setzt ein Attribut eines Dokuments
  - CollectionModify::skip — Überspringt Elemente
  - CollectionModify::sort — Setzt die Kriterien für die Sortierung
  - CollectionModify::unset — Löscht den Wert eines Feldes in einem Dokument
- mysql_xdevapi\CollectionRemove — Die Klasse CollectionRemove
  - CollectionRemove::bind — Bindet einen Wert an einen Platzhalter
  - CollectionRemove::__construct — Der Konstruktor der Klasse CollectionRemove
  - CollectionRemove::execute — Führt eine Löschoperation aus
  - CollectionRemove::limit — Begrenzt die Anzahl der zu löschenden Dokumente
  - CollectionRemove::sort — Setzt die Kriterien für die Sortierung
- mysql_xdevapi\ColumnResult — Die Klasse ColumnResult
  - ColumnResult::__construct — Der Konstruktor der Klasse ColumnResult
  - ColumnResult::getCharacterSetName — Ruft den Zeichensatz einer Spalte ab
  - ColumnResult::getCollationName — Ruft den Namen der Sortierreihenfolge einer Spalte ab
  - ColumnResult::getColumnLabel — Ruft den Bezeichner (Label) einer Spalte ab
  - ColumnResult::getColumnName — Ruft den Namen einer Spalte ab
  - ColumnResult::getFractionalDigits — Ruft die Anzahl der Nachkommastellen einer Spalte ab
  - ColumnResult::getLength — Ruft die Länge eines Spaltenfeldes ab
  - ColumnResult::getSchemaName — Ruft den Namen des Schemas einer Spalte ab
  - ColumnResult::getTableLabel — Ruft den Bezeichner (Label) der Tabelle einer Spalte ab
  - ColumnResult::getTableName — Ruft den Namen der Tabelle einer Spalte ab
  - ColumnResult::getType — Ruft den Typ einer Spalte ab
  - ColumnResult::isNumberSigned — Prüft, ob der Typ einer Spalte vorzeichenbehaftet ist
  - ColumnResult::isPadded — Prüft, ob eine Spalte aufgefüllt wird
- mysql_xdevapi\CrudOperationBindable — Die CrudOperationBindable-Schnittstelle
  - CrudOperationBindable::bind — Bindet einen Wert an einen Platzhalter
- mysql_xdevapi\CrudOperationLimitable — Die CrudOperationLimitable-Schnittstelle
  - CrudOperationLimitable::limit — Begrenzt die Anzahl der Ergebnisse
- mysql_xdevapi\CrudOperationSkippable — Die CrudOperationSkippable-Schnittstelle
  - CrudOperationSkippable::skip — Überspringt die angegebene Anzahl von Datensätzen
- mysql_xdevapi\CrudOperationSortable — Die CrudOperationSortable-Schnittstelle
  - CrudOperationSortable::sort — Sortiert die Ergebnisse
- mysql_xdevapi\DatabaseObject — Die DatabaseObject-Schnittstelle
  - DatabaseObject::existsInDatabase — Prüft, ob es das Objekt in der Datenbank gibt
  - DatabaseObject::getName — Ruft den Namen eines Objekts ab
  - DatabaseObject::getSession — Ruft den Namen einer Session ab
- mysql_xdevapi\DocResult — Die Klasse DocResult
  - DocResult::__construct — Der Konstruktor der Klasse DocResult
  - DocResult::fetchAll — Ruft alle Zeilen aus einer Ergebnismenge ab
  - DocResult::fetchOne — Ruft eine Zeile aus einer Ergebnismenge ab
  - DocResult::getWarnings — Ruft die Warnungen der letzten Operation ab
  - DocResult::getWarningsCount — Ermittelt die Anzahl der Warnungen der letzten Operation
- mysql_xdevapi\Exception — Die Klasse Exception
- mysql_xdevapi\Executable — Die Executable-Schnittstelle
  - Executable::execute — Führt eine Anweisung aus
- mysql_xdevapi\ExecutionStatus — Die Klasse ExecutionStatus
  - ExecutionStatus::__construct — Der Konstruktor der Klasse ExecutionStatus
- mysql_xdevapi\Expression — Die Klasse Expression
  - Expression::__construct — Der Konstruktor der Klasse Expression
- mysql_xdevapi\Result — Die Klasse Result
  - Result::__construct — Der Konstruktor der Klasse Result
  - Result::getAffectedItemsCount — Ermittelt die Anzahl der betroffenen Zeilen
  - Result::getAutoIncrementValue — Ruft einen automatisch erhöhten Wert ab
  - Result::getGeneratedIds — Ruft die zuletzt erzeugten IDs ab
  - Result::getWarnings — Ruft die Warnungen der letzten Operation ab
  - Result::getWarningsCount — Ermittelt die Anzahl der Warnungen der letzten Operation
- mysql_xdevapi\RowResult — Die Klasse RowResult
  - RowResult::__construct — Der Konstruktor der Klasse RowResult
  - RowResult::fetchAll — Ruft alle Zeilen aus einer Ergebnismenge ab
  - RowResult::fetchOne — Ruft eine Zeile aus einer Ergebnismenge ab
  - RowResult::getColumnsCount — Ermittelt die Anzahl der Spalten einer Ergebnismenge
  - RowResult::getColumnNames — Ruft alle Spaltennamen aus einer Ergebnismenge ab
  - RowResult::getColumns — Ruft die Metadaten der Spalten aus einer Ergebnismenge ab
  - RowResult::getWarnings — Ruft die Warnungen der letzten Operation ab
  - RowResult::getWarningsCount — Ermittelt die Anzahl der Warnungen der letzten Operation
- mysql_xdevapi\Schema — Die Klasse Schema
  - Schema::__construct — Der Konstruktor der Klasse Schema
  - Schema::createCollection — Fügt einem Schema eine Sammlung hinzu
  - Schema::dropCollection — Entfernt eine Sammlung aus einem Schema
  - Schema::existsInDatabase — Prüft, ob es das angegebene Objekt in der Datenbank gibt
  - Schema::getCollection — Ruft eine Sammlung aus einem Schema ab
  - Schema::getCollectionAsTable — Ruft eine Sammlung als Table-Objekt ab
  - Schema::getCollections — Ruft alle Sammlungen eines Schemas ab
  - Schema::getName — Ruft den Namen eines Schemas ab
  - Schema::getSession — Ruft eine Schema-Session ab
  - Schema::getTable — Ruft eine Tabelle eines Schemas ab
  - Schema::getTables — Ruft alle Tabellen eines Schemas ab
- mysql_xdevapi\SchemaObject — Die SchemaObject-Schnittstelle
  - SchemaObject::getSchema — Ruft ein Schema-Objekt ab
- mysql_xdevapi\Session — Die Klasse Session
  - Session::close — Schließt eine Session
  - Session::commit — Bestätigt eine Transaktion
  - Session::__construct — Der Konstruktor der Klasse Session
  - Session::createSchema — Erstellt ein neues Schema
  - Session::dropSchema — Löscht ein Schema
  - Session::generateUUID — Erzeugt eine neue UUID
  - Session::getDefaultSchema — Ruft den Namen des Standardschemas ab
  - Session::getSchema — Ruft ein neues Schema-Objekt ab
  - Session::getSchemas — Ruft Schema-Objekte ab
  - Session::getServerVersion — Ruft die Serverversion ab
  - Session::listClients — Ruft eine Liste der Clients ab
  - Session::quoteName — Fügt Anführungszeichen hinzu
  - Session::releaseSavepoint — Entfernt einen gesetzten Sicherungspunkt
  - Session::rollback — Macht eine Transaktion rückgängig (Rollback)
  - Session::rollbackTo — Macht eine Transaktion bis zu einem Sicherungspunkt rückgängig
  - Session::setSavepoint — Erzeugt einen Sicherungspunkt
  - Session::sql — Erzeugt eine SQL-Anweisung
  - Session::startTransaction — Startet eine Transaktion
- mysql_xdevapi\SqlStatement — Die Klasse SqlStatement
  - SqlStatement::bind — Bindet die Parameter einer Anweisung
  - SqlStatement::__construct — Der Konstruktor der Klasse SqlStatement
  - SqlStatement::execute — Führt eine Operation aus
  - SqlStatement::getNextResult — Ruft das nächste Ergebnis ab
  - SqlStatement::getResult — Ruft ein Ergebnis ab
  - SqlStatement::hasMoreResults — Prüft, ob es weitere Ergebnisse gibt
- mysql_xdevapi\SqlStatementResult — Die Klasse SqlStatementResult
  - SqlStatementResult::__construct — Der Konstruktor der Klasse SqlStatementResult
  - SqlStatementResult::fetchAll — Ruft alle Zeilen aus dem Ergebnis ab
  - SqlStatementResult::fetchOne — Ruft eine Zeile aus dem Ergebnis ab
  - SqlStatementResult::getAffectedItemsCount — Ermittelt die Anzahl der betroffenen Zeilen
  - SqlStatementResult::getColumnsCount — Ermittelt die Anzahl der Spalten
  - SqlStatementResult::getColumnNames — Ruft die Namen der Spalten ab
  - SqlStatementResult::getColumns — Ruft Spalten ab
  - SqlStatementResult::getGeneratedIds — Ruft die zuletzt erzeugten IDs ab
  - SqlStatementResult::getLastInsertId — Ruft die ID der letzten Einfügung ab
  - SqlStatementResult::getWarnings — Ruft die Warnungen der letzten Operation ab
  - SqlStatementResult::getWarningsCount — Ermittelt die Anzahl der Warnungen der letzten Operation
  - SqlStatementResult::hasData — Prüft, ob die Ergebnismenge Daten enthält
  - SqlStatementResult::nextResult — Ruft das nächste Ergebnis ab
- mysql_xdevapi\Statement — Die Klasse Statement
  - Statement::__construct — Der Konstruktor der Klasse Statement
  - Statement::getNextResult — Ruft das nächste Ergebnis ab
  - Statement::getResult — Ruft ein Ergebnis ab
  - Statement::hasMoreResults — Prüft, ob es weitere Ergebnisse gibt
- mysql_xdevapi\Table — Die Klasse Table
  - Table::__construct — Der Konstruktor der Klasse Table
  - Table::count — Ermittelt die Anzahl der Zeilen
  - Table::delete — Löscht Zeilen aus einer Tabelle
  - Table::existsInDatabase — Prüft, ob es die angegebene Tabelle in der Datenbank gibt
  - Table::getName — Ruft den Namen einer Tabelle ab
  - Table::getSchema — Ruft das Schema einer Tabelle ab
  - Table::getSession — Ruft die Session zu einer Tabelle ab
  - Table::insert — Fügt Zeilen in eine Tabelle ein
  - Table::isView — Prüft, ob eine Tabelle ein View ist
  - Table::select — Wählt Zeilen aus einer Tabelle aus
  - Table::update — Aktualisiert Zeilen in einer Tabelle
- mysql_xdevapi\TableDelete — Die Klasse TableDelete
  - TableDelete::bind — Bindet die Parameter für eine DELETE-Anweisung
  - TableDelete::__construct — Der Konstruktor der Klasse TableDelete
  - TableDelete::execute — Führt eine DELETE-Anweisung aus
  - TableDelete::limit — Begrenzt die Anzahl der zu löschenden Zeilen
  - TableDelete::orderby — Setzt die Sortierkriterien für eine DELETE-Anweisung
  - TableDelete::where — Setzt die Suchbedingung für eine DELETE-Anweisung
- mysql_xdevapi\TableInsert — Die Klasse TableInsert
  - TableInsert::__construct — Der Konstruktor der Klasse TableInsert
  - TableInsert::execute — Führt eine INSERT-Anweisung aus
  - TableInsert::values — Fügt Werte für eine einzufügende Zeile hinzu
- mysql_xdevapi\TableSelect — Die Klasse TableSelect
  - TableSelect::bind — Bindet die Parameter für eine SELECT-Anweisung
  - TableSelect::__construct — Der Konstruktor der Klasse TableSelect
  - TableSelect::execute — Führt eine SELECT-Anweisung aus
  - TableSelect::groupBy — Setzt die Gruppierungskriterien für eine SELECT-Anweisung
  - TableSelect::having — Setzt die HAVING-Bedingung für eine SELECT-Anweisung
  - TableSelect::limit — Begrenzt die Anzahl der zurückgegebenen Dokumente
  - TableSelect::lockExclusive — Führt eine Operation mit EXCLUSIVE LOCK aus
  - TableSelect::lockShared — Führt eine Operation mit SHARED LOCK aus
  - TableSelect::offset — Setzt die Anzahl der zu überspringenden Zeilen
  - TableSelect::orderby — Setzt die Sortierkriterien für eine SELECT-Anweisung
  - TableSelect::where — Setzt die Suchbedingung für eine SELECT-Anweisung
- mysql_xdevapi\TableUpdate — Die Klasse TableUpdate
  - TableUpdate::bind — Bindet die Parameter für eine UPDATE-Anweisung
  - TableUpdate::__construct — Der Konstruktor der Klasse TableUpdate
  - TableUpdate::execute — Führt eine UPDATE-Anweisung aus
  - TableUpdate::limit — Begrenzt die Anzahl der zu aktualisierenden Zeilen
  - TableUpdate::orderby — Setzt die Sortierkriterien für eine UPDATE-Anweisung
  - TableUpdate::set — Fügt eine zu aktualisierende Spalte hinzu
  - TableUpdate::where — Setzt den Suchfilter
- mysql_xdevapi\Warning — Die Klasse Warning
  - Warning::__construct — Der Konstruktor der Klasse Warning

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open