SQL-Befehle von MapInfo
Die SQL-Sprache von MapInfo basiert auf den SQL-3- und SQL/MM-Standards. Zeichenfolgenliterale müssen in einfachen Anführungszeichen ('Beispiel') eingeschlossen werden, während Bezeichner (Spaltennamen, Tabellennamen, Aliase usw.) bei Bedarf in doppelten Anführungszeichen ("Beispielbezeichner") eingeschlossen werden müssen. Bezeichner müssen nur dann in Anführungszeichen gesetzt werden, wenn die Parsing-Logik den Bezeichner nicht korrekt parsen kann. Darin eingeschlossen sind beispielsweise Bezeichner mit Leerzeichen im Namen oder anderen Sonderzeichen. Weitere Informationen finden Sie unter Regeln für Anführungszeichen.
In Spectrum Spatial setzt sich die MapInfo SQL-Sprache aus den folgenden Befehlen zusammen:
Wählen Sie
SELECT < select_list >
FROM { < table_source > } [ ,...n ]
[ WHERE < search_condition > ]
[ GROUP BY expression [ ,...n ] ]
[ ORDER BY < column_position | column_name > [ ASC | DESC ] [ ,...n ]]
[ LIMIT positive_integer ]
[ OFFSET positive_integer ]
< select_list > ::=
{
*
| { table_name | table_alias }.*
| { expression } [ [ AS ] column_alias ]
} [ ,...n ]
< table_source > ::=
table_name [ [ AS ] table_alias ]
Aktualisieren
UPDATE <table_name>
SET {column_name = expression} [ ,…n]
[ WHERE < search_condition > ]
[ COMMIT_INTERVAL = integer ]
UPDATE STATES set DENSITY = POP_1990 / MI_AREA(obj, 'sq mi', 'Spherical')
UPDATE STATES set DENSITY = POP_1990 / MI_AREA(obj, 'sq mi', 'Spherical') WHERE STATE_NAME in ('New York', 'New Jersey')
UPDATE STATES set DENSITY = POP_1990 / MI_AREA(obj, 'sq mi', 'Spherical') COMMIT_INTERVAL 30
Einfügen
INSERT [INTO] { table_name } [ ( column_list ) ]
{ VALUES ({expression | NULL}[, ...n]) | query_specification
Löschen
DELETE [FROM] { table_name } [ WHERE < search_condition > ]
< search_condition > ::=
{ [ NOT ] < predicate > | ( < search_condition > ) }
[ { AND | OR } [ NOT ] { < predicate > | ( < search_condition > ) } [ ,...n ] ]
< predicate > ::=
{
expression [ { = | < > | != | > | >= | < | <= } expression ]
| string_expression [ NOT ] LIKE string_expression [ ESCAPE 'escape_character' ]
| expression [ NOT ] BETWEEN expression AND expression
| expression IS [ NOT ] NULL
}
expression bezeichnet Spaltennamen, Pseudospalten, Spaltenaliase, Funktionen, oder eine beliebige Kombination von Spaltennamen, Spaltenaliasen, Konstanten und Funktionen, die durch einen oder mehrere Operatoren verknüpft ist. Spaltennamen und Pseudospalten kann ein Tabellenname oder ein Tabellenalias gefolgt von dem Punktzeichen („.“) vorangestellt werden.
search_condition ist ein Verweis auf einen Ausdruck, der entweder „True“ oder „False“ ergibt. Die meisten Funktionen in diesem Dokument können in Suchbedingungen verwendet werden. Aggregationsfunktionen werden für diese Verwendung jedoch nicht unterstützt.
group_by_expression ist ein Verweis auf eine Spalte in der Auswahlliste: Dieser ist entweder eine genaue Kopie des Auswahllistenausdrucks, das Alias, eine auf 1 basierende Zahl, welche die Position der Spalte angibt, oder „coln“, wobei n eine Zahl ist, die eine Spalte darstellt.
order_by_expression ist ein Verweis auf eine Spalte in der Auswahlliste: Dieser ist entweder eine genaue Kopie des Auswahllistenausdrucks, das Alias, eine auf 1 basierende Zahl, welche die Position der Spalte angibt, oder „coln“, wobei n eine Zahl ist, die eine Spalte darstellt.