~ubuntu-branches/ubuntu/wily/sqlite3/wily

« back to all changes in this revision

Viewing changes to lang_keywords.html

  • Committer: Package Import Robot
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2012-06-13 21:43:48 UTC
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: package-import@ubuntu.com-20120613214348-uy14uupdeq0hh04k
Tags: upstream-3.7.13/www
Import upstream version 3.7.13, component www

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
2
<html><head>
 
3
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
4
<title>SQLite Query Language: SQLite Keywords</title>
 
5
<style type="text/css">
 
6
body {
 
7
    margin: auto;
 
8
    font-family: Verdana, sans-serif;
 
9
    padding: 8px 1%;
 
10
}
 
11
 
 
12
a { color: #044a64 }
 
13
a:visited { color: #734559 }
 
14
 
 
15
.logo { position:absolute; margin:3px; }
 
16
.tagline {
 
17
  float:right;
 
18
  text-align:right;
 
19
  font-style:italic;
 
20
  width:300px;
 
21
  margin:12px;
 
22
  margin-top:58px;
 
23
}
 
24
 
 
25
.toolbar {
 
26
  text-align: center;
 
27
  line-height: 1.6em;
 
28
  margin: 0;
 
29
  padding: 0px 8px;
 
30
}
 
31
.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
 
32
.toolbar a:visited { color: white; }
 
33
.toolbar a:hover { color: #044a64; background: white; }
 
34
 
 
35
.content    { margin: 5%; }
 
36
.content dt { font-weight:bold; }
 
37
.content dd { margin-bottom: 25px; margin-left:20%; }
 
38
.content ul { padding:0px; padding-left: 15px; margin:0px; }
 
39
 
 
40
/* rounded corners */
 
41
.se  { background: url(images/se.gif) 100% 100% no-repeat #044a64}
 
42
.sw  { background: url(images/sw.gif) 0% 100% no-repeat }
 
43
.ne  { background: url(images/ne.gif) 100% 0% no-repeat }
 
44
.nw  { background: url(images/nw.gif) 0% 0% no-repeat }
 
45
 
 
46
/* Things for "fancyformat" documents start here. */
 
47
.fancy img+p {font-style:italic}
 
48
.fancy .codeblock i { color: darkblue; }
 
49
.fancy h1,.fancy h2,.fancy h3,.fancy h4 {font-weight:normal;color:#044a64}
 
50
.fancy h2 { margin-left: 10px }
 
51
.fancy h3 { margin-left: 20px }
 
52
.fancy h4 { margin-left: 30px }
 
53
.fancy th {white-space:nowrap;text-align:left;border-bottom:solid 1px #444}
 
54
.fancy th, .fancy td {padding: 0.2em 1ex; vertical-align:top}
 
55
.fancy #toc a        { color: darkblue ; text-decoration: none }
 
56
.fancy .todo         { color: #AA3333 ; font-style : italic }
 
57
.fancy .todo:before  { content: 'TODO:' }
 
58
.fancy p.todo        { border: solid #AA3333 1px; padding: 1ex }
 
59
.fancy img { display:block; }
 
60
.fancy :link:hover, .fancy :visited:hover { background: wheat }
 
61
.fancy p,.fancy ul,.fancy ol { margin: 1em 5ex }
 
62
.fancy li p { margin: 1em 0 }
 
63
/* End of "fancyformat" specific rules. */
 
64
 
 
65
</style>
 
66
  
 
67
</head>
 
68
<body>
 
69
<div><!-- container div to satisfy validator -->
 
70
 
 
71
<a href="index.html">
 
72
<img class="logo" src="images/sqlite370_banner.gif" alt="SQLite Logo"
 
73
 border="0"></a>
 
74
<div><!-- IE hack to prevent disappearing logo--></div>
 
75
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>
 
76
 
 
77
<table width=100% style="clear:both"><tr><td>
 
78
  <div class="se"><div class="sw"><div class="ne"><div class="nw">
 
79
  <table width=100% style="padding:0;margin:0;cell-spacing:0"><tr>
 
80
  <td width=100%>
 
81
  <div class="toolbar">
 
82
    <a href="about.html">About</a>
 
83
    <a href="sitemap.html">Sitemap</a>
 
84
    <a href="docs.html">Documentation</a>
 
85
    <a href="download.html">Download</a>
 
86
    <a href="copyright.html">License</a>
 
87
    <a href="news.html">News</a>
 
88
    <a href="support.html">Support</a>
 
89
  </div>
 
90
<script>
 
91
  gMsg = "Search SQLite Docs..."
 
92
  function entersearch() {
 
93
    var q = document.getElementById("q");
 
94
    if( q.value == gMsg ) { q.value = "" }
 
95
    q.style.color = "black"
 
96
    q.style.fontStyle = "normal"
 
97
  }
 
98
  function leavesearch() {
 
99
    var q = document.getElementById("q");
 
100
    if( q.value == "" ) { 
 
101
      q.value = gMsg
 
102
      q.style.color = "#044a64"
 
103
      q.style.fontStyle = "italic"
 
104
    }
 
105
  }
 
106
</script>
 
107
<td>
 
108
    <div style="padding:0 1em 0px 0;white-space:nowrap">
 
109
    <form name=f method="GET" action="http://www.sqlite.org/search">
 
110
      <input id=q name=q type=text
 
111
       onfocus="entersearch()" onblur="leavesearch()" style="width:24ex;padding:1px 1ex; border:solid white 1px; font-size:0.9em ; font-style:italic;color:#044a64;" value="Search SQLite Docs...">
 
112
      <input type=submit value="Go" style="border:solid white 1px;background-color:#044a64;color:white;font-size:0.9em;padding:0 1ex">
 
113
    </form>
 
114
    </div>
 
115
  </table>
 
116
</div></div></div></div>
 
117
</td></tr></table>
 
118
<div class=startsearch></div>
 
119
  
 
120
<h1 align="center">SQL As Understood By SQLite</h1><p><a href="lang.html">[Top]</a></p><h2>SQLite Keywords</h2></DIV>
 
121
 
 
122
<p>The SQL standard specifies a huge number of keywords which may not
 
123
be used as the names of tables, indices, columns, databases, user-defined
 
124
functions, collations, virtual table modules, or any other named object.
 
125
The list of keywords is so long that few people can remember them all.
 
126
For most SQL code, your safest bet is to never use any English language
 
127
word as the name of a user-defined object.</p>
 
128
 
 
129
<p>If you want to use a keyword as a name, you need to quote it.  There
 
130
are four ways of quoting keywords in SQLite:</p>
 
131
 
 
132
<p>
 
133
<blockquote>
 
134
<table>
 
135
<tr>    <td valign="top"><b>'keyword'</b></td><td width="20"></td>
 
136
        <td>A keyword in single quotes is a string literal.</td></tr>
 
137
 
 
138
<tr>    <td valign="top"><b>"keyword"</b></td><td></td>
 
139
        <td>A keyword in double-quotes is an identifier.</td></tr>
 
140
 
 
141
<tr>    <td valign="top"><b>&#91;keyword&#93;</b></td><td></td>
 
142
        <td>A keyword enclosed in square brackets is 
 
143
        an identifier.  This is not standard SQL.  This quoting mechanism
 
144
        is used by MS Access and SQL Server and is included in SQLite for
 
145
        compatibility.</td></tr>
 
146
 
 
147
<tr>    <td valign="top"><b>&#96;keyword&#96;</b></td><td></td>
 
148
        <td>A keyword enclosed in grave accents (ASCII code 96) is 
 
149
        an identifier.  This is not standard SQL.  This quoting mechanism
 
150
        is used by MySQL and is included in SQLite for
 
151
        compatibility.</td></tr>
 
152
</table>
 
153
</blockquote>
 
154
</p>
 
155
 
 
156
<p>For resilience when confronted with historical SQL statements, SQLite
 
157
will sometimes bend the quoting rules above:</p>
 
158
 
 
159
<ul>
 
160
<li><p>If a keyword in single
 
161
quotes (ex: <b>'key'</b> or <b>'glob'</b>) is used in a context where
 
162
an identifier is allowed but where a string literal is not allowed, then
 
163
the token is understood to be an identifier instead of a string literal.
 
164
</p></li>
 
165
 
 
166
<li><p>If a keyword in double
 
167
quotes (ex: <b>"key"</b> or <b>"glob"</b>) is used in a context where
 
168
it cannot be resolved to an identifier but where a string literal
 
169
is allowed, then the token is understood to be a string literal instead
 
170
of an identifier.</p></li>
 
171
</ul>
 
172
 
 
173
<p>Programmers are cautioned not to use the two exceptions described in
 
174
the previous bullets.  We emphasize that they exist only so that old
 
175
and ill-formed SQL statements will run correctly.  Future versions of
 
176
SQLite might change to raise errors instead of accepting the malformed
 
177
statements covered by the exceptions above.</p>
 
178
 
 
179
<p>
 
180
SQLite adds new keywords from time to time when it takes on new features.
 
181
So to prevent your code from being broken by future enhancements, you should
 
182
normally quote any identifier that is an English language word, even if
 
183
you do not have to.
 
184
</p>
 
185
 
 
186
<p>
 
187
The list below shows all possible keywords used by any build of
 
188
SQLite regardless of <a href="compile.html">compile-time options</a>.  
 
189
Most reasonable configurations use most or all of these keywords,
 
190
but some keywords may be omitted when SQL language features are
 
191
disabled.
 
192
Regardless of the compile-time configuration, any identifier that is not on
 
193
the following 121 element
 
194
list is not a keyword to the SQL parser in SQLite:
 
195
</p>
 
196
 
 
197
<blockquote>
 
198
<table width="100%"><tr>
 
199
<td align="left" valign="top" width="20%">
 
200
ABORT<br>
 
201
ACTION<br>
 
202
ADD<br>
 
203
AFTER<br>
 
204
ALL<br>
 
205
ALTER<br>
 
206
ANALYZE<br>
 
207
AND<br>
 
208
AS<br>
 
209
ASC<br>
 
210
ATTACH<br>
 
211
AUTOINCREMENT<br>
 
212
BEFORE<br>
 
213
BEGIN<br>
 
214
BETWEEN<br>
 
215
BY<br>
 
216
CASCADE<br>
 
217
CASE<br>
 
218
CAST<br>
 
219
CHECK<br>
 
220
COLLATE<br>
 
221
COLUMN<br>
 
222
COMMIT<br>
 
223
CONFLICT<br>
 
224
CONSTRAINT<br>
 
225
</td><td valign="top" align="left" width="20%">CREATE<br>
 
226
CROSS<br>
 
227
CURRENT_DATE<br>
 
228
CURRENT_TIME<br>
 
229
CURRENT_TIMESTAMP<br>
 
230
DATABASE<br>
 
231
DEFAULT<br>
 
232
DEFERRABLE<br>
 
233
DEFERRED<br>
 
234
DELETE<br>
 
235
DESC<br>
 
236
DETACH<br>
 
237
DISTINCT<br>
 
238
DROP<br>
 
239
EACH<br>
 
240
ELSE<br>
 
241
END<br>
 
242
ESCAPE<br>
 
243
EXCEPT<br>
 
244
EXCLUSIVE<br>
 
245
EXISTS<br>
 
246
EXPLAIN<br>
 
247
FAIL<br>
 
248
FOR<br>
 
249
FOREIGN<br>
 
250
</td><td valign="top" align="left" width="20%">FROM<br>
 
251
FULL<br>
 
252
GLOB<br>
 
253
GROUP<br>
 
254
HAVING<br>
 
255
IF<br>
 
256
IGNORE<br>
 
257
IMMEDIATE<br>
 
258
IN<br>
 
259
INDEX<br>
 
260
INDEXED<br>
 
261
INITIALLY<br>
 
262
INNER<br>
 
263
INSERT<br>
 
264
INSTEAD<br>
 
265
INTERSECT<br>
 
266
INTO<br>
 
267
IS<br>
 
268
ISNULL<br>
 
269
JOIN<br>
 
270
KEY<br>
 
271
LEFT<br>
 
272
LIKE<br>
 
273
LIMIT<br>
 
274
MATCH<br>
 
275
</td><td valign="top" align="left" width="20%">NATURAL<br>
 
276
NO<br>
 
277
NOT<br>
 
278
NOTNULL<br>
 
279
NULL<br>
 
280
OF<br>
 
281
OFFSET<br>
 
282
ON<br>
 
283
OR<br>
 
284
ORDER<br>
 
285
OUTER<br>
 
286
PLAN<br>
 
287
PRAGMA<br>
 
288
PRIMARY<br>
 
289
QUERY<br>
 
290
RAISE<br>
 
291
REFERENCES<br>
 
292
REGEXP<br>
 
293
REINDEX<br>
 
294
RELEASE<br>
 
295
RENAME<br>
 
296
REPLACE<br>
 
297
RESTRICT<br>
 
298
RIGHT<br>
 
299
ROLLBACK<br>
 
300
</td><td valign="top" align="left" width="20%">ROW<br>
 
301
SAVEPOINT<br>
 
302
SELECT<br>
 
303
SET<br>
 
304
TABLE<br>
 
305
TEMP<br>
 
306
TEMPORARY<br>
 
307
THEN<br>
 
308
TO<br>
 
309
TRANSACTION<br>
 
310
TRIGGER<br>
 
311
UNION<br>
 
312
UNIQUE<br>
 
313
UPDATE<br>
 
314
USING<br>
 
315
VACUUM<br>
 
316
VALUES<br>
 
317
VIEW<br>
 
318
VIRTUAL<br>
 
319
WHEN<br>
 
320
WHERE<br>
 
321
 
 
322
</td></tr></table></blockquote>
 
323