sqlite-referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 sqlite schl usselw orter der sql-standard...

20
SQLite-Referenz Inhaltsverzeichnis 1 SQLite Schl¨ usselw¨ orter 3 2 Datentypen 3 3 Aggregatfunktionen 3 4 Datum und Zeit 4 5 SQLite-Statements 4 alter-table-stmt .................................... 4 analyze-stmt ...................................... 4 attach-stmt ...................................... 4 begin-stmt ....................................... 5 column-constraint ................................... 5 column-def ....................................... 5 commit-stmt ...................................... 5 comment-syntax .................................... 5 commit-stmt ...................................... 6 common-table-expression ............................... 6 compound-operator .................................. 6 compound-select-stmt ................................ 6 conflict-clause ..................................... 7 create-index-stmt ................................... 7 create-table-stmt ................................... 7 create-trigger-stmt .................................. 8 create-view-stmt ................................... 8 create-virtual-table-stmt ............................... 9 ct-table-name ..................................... 9 delete-stmt ...................................... 9 delete-stmt-limited .................................. 9 detach-stmt ...................................... 9 drop-index-stmt .................................... 10 drop-table-stmt .................................... 10 drop-trigger-stmt ................................... 10 1

Upload: others

Post on 15-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

SQLite-Referenz

Inhaltsverzeichnis

1 SQLite Schlusselworter 3

2 Datentypen 3

3 Aggregatfunktionen 3

4 Datum und Zeit 4

5 SQLite-Statements 4

alter-table-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

analyze-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

attach-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

begin-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

column-constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

column-def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

commit-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

comment-syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

commit-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

common-table-expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

compound-operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

compound-select-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

conflict-clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

create-index-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

create-table-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

create-trigger-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

create-view-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

create-virtual-table-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

ct-table-name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

delete-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

delete-stmt-limited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

detach-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

drop-index-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

drop-table-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

drop-trigger-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1

Page 2: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

drop-view-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

factored-select-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

foreign-key-clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

indexed-column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

insert-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

join-clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

join-constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

join-operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

literal-value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

numeric-literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

ordering-term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

pragma-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

qualified-table-name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

raise-function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

reindex-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

release-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

result-column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

rollback-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

savepoint-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

select-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

select-core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

signed-number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

simple-select-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

sql-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

sql-stmt-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

table-constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

table-or-subquery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

type-name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

update-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

update-stmt-limited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

vacuum-stmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

with-clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2

Page 3: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

1 SQLite Schlusselworter

Der SQL-Standard definiert eine grosse Zahl von Schlusselwortern, die nicht als Namenvon Tabellen, Indizes, Kolonnen, Datenbanken, oder anderen benutzerdefinierten Objek-ten verwendet werden durfen.

Die Liste dieser Schlusselworter ist so lang (124), dass nur wenige Leute alle auswen-dig kennen. Am sichersten ist es, uberhaupt kein englisches Wort als Bezeichner fur einbenutzerdefiniertes Objekt zu verwenden.

Wenn man dennoch ein Schlusselwort als Bezeichner verwenden mochte, muss man es inAnfuhrungszeichen setzen. Hier die beiden wichtigsten Varianten, dies zu tun:

• Ein Schlusselwort in einfachen Anfuhrungszeichen (’...’) ist eine Zeichenkette.

• Ein Schlusselwort in doppelten Anfuhrungszeichen ("...") ist ein Variablenname.

2 Datentypen

• NULL der NULL-Wert

• INTEGER eine ganze Zahl mit Vorzeichen

• REAL Fliesskommazahl

• TEXT Zeichenkette (auch fur Datum und Zeit)

• BLOB (Binary Large Object) exakte Kopie des Inputs

3 Aggregatfunktionen

• avg()

• count()

• group concat()

• max()

• min()

• sum()

• total() (ahnlich wie sum())

3

Page 4: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

4 Datum und Zeit

Datum- und Zeitangaben werden am einfachsten als TEXT gespeichert. Es sind auch Dar-stellungen als REAL moglich, die jedoch Umrechnungen erfordern. Hier einige Darstellun-gen, die von SQLite erkannt werden:

• ’YYYY-MM-DD’

• ’YYYY-MM-DD HH:MM’

• ’YYYY-MM-DD HH:MM:SS’

• ’YYYY-MM-DD HH:MM:SS.sss’

• ’HH:MM’

• ’HH:MM:SS’

• ’HH:MM:SS.sss’

5 SQLite-Statements

alter-table-stmt

analyze-stmt

attach-stmt

4

Page 5: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

begin-stmt

column-constraint

column-def

commit-stmt

comment-syntax

5

Page 6: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

commit-stmt

common-table-expression

compound-operator

compound-select-stmt

6

Page 7: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

conflict-clause

create-index-stmt

create-table-stmt

7

Page 8: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

create-trigger-stmt

create-view-stmt

8

Page 9: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

create-virtual-table-stmt

cte-table-name

delete-stmt

delete-stmt-limited

detach-stmt

9

Page 10: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

drop-index-stmt

drop-table-stmt

drop-trigger-stmt

drop-view-stmt

10

Page 11: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

expr

11

Page 12: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

factored-select-stmt

foreign-key-clause

indexed-column

12

Page 13: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

insert-stmt

join-clause

join-constraint

join-operator

13

Page 14: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

literal-value

numeric-literal

ordering-term

pragma-stmt

qualified-table-name

14

Page 15: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

raise-function

reindex-stmt

release-stmt

result-column

rollback-stmt

savepoint-stmt

15

Page 16: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

select-stmt

16

Page 17: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

select-core

signed-number

simple-select-stmt

17

Page 18: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

sql-stmt

sql-stmt-list

18

Page 19: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

table-constraint

table-or-subquery

type-name

19

Page 20: SQLite-Referenzgxy.ch/efinf/db/db-sqlite-ref-handout.pdf1 SQLite Schl usselw orter Der SQL-Standard de niert eine grosse Zahl von Schl usselw ortern, die nicht als Namen von Tabellen,

update-stmt

update-limited

vacuum-stmt

with-clause

20