diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 17:28:19 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 17:28:19 +0000 |
commit | 18657a960e125336f704ea058e25c27bd3900dcb (patch) | |
tree | 17b438b680ed45a996d7b59951e6aa34023783f2 /www/lang_keywords.html | |
parent | Initial commit. (diff) | |
download | sqlite3-18657a960e125336f704ea058e25c27bd3900dcb.tar.xz sqlite3-18657a960e125336f704ea058e25c27bd3900dcb.zip |
Adding upstream version 3.40.1.upstream/3.40.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'www/lang_keywords.html')
-rw-r--r-- | www/lang_keywords.html | 361 |
1 files changed, 361 insertions, 0 deletions
diff --git a/www/lang_keywords.html b/www/lang_keywords.html new file mode 100644 index 0000000..67c4aa6 --- /dev/null +++ b/www/lang_keywords.html @@ -0,0 +1,361 @@ +<!DOCTYPE html> +<html><head> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> +<link href="sqlite.css" rel="stylesheet"> +<title>SQLite Keywords</title> +<!-- path= --> +</head> +<body> +<div class=nosearch> +<a href="index.html"> +<img class="logo" src="images/sqlite370_banner.gif" alt="SQLite" border="0"> +</a> +<div><!-- IE hack to prevent disappearing logo --></div> +<div class="tagline desktoponly"> +Small. Fast. Reliable.<br>Choose any three. +</div> +<div class="menu mainmenu"> +<ul> +<li><a href="index.html">Home</a> +<li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a> +<li class='wideonly'><a href='about.html'>About</a> +<li class='desktoponly'><a href="docs.html">Documentation</a> +<li class='desktoponly'><a href="download.html">Download</a> +<li class='wideonly'><a href='copyright.html'>License</a> +<li class='desktoponly'><a href="support.html">Support</a> +<li class='desktoponly'><a href="prosupport.html">Purchase</a> +<li class='search' id='search_menubutton'> +<a href="javascript:void(0)" onclick='toggle_search()'>Search</a> +</ul> +</div> +<div class="menu submenu" id="submenu"> +<ul> +<li><a href='about.html'>About</a> +<li><a href='docs.html'>Documentation</a> +<li><a href='download.html'>Download</a> +<li><a href='support.html'>Support</a> +<li><a href='prosupport.html'>Purchase</a> +</ul> +</div> +<div class="searchmenu" id="searchmenu"> +<form method="GET" action="search"> +<select name="s" id="searchtype"> +<option value="d">Search Documentation</option> +<option value="c">Search Changelog</option> +</select> +<input type="text" name="q" id="searchbox" value=""> +<input type="submit" value="Go"> +</form> +</div> +</div> +<script> +function toggle_div(nm) { +var w = document.getElementById(nm); +if( w.style.display=="block" ){ +w.style.display = "none"; +}else{ +w.style.display = "block"; +} +} +function toggle_search() { +var w = document.getElementById("searchmenu"); +if( w.style.display=="block" ){ +w.style.display = "none"; +} else { +w.style.display = "block"; +setTimeout(function(){ +document.getElementById("searchbox").focus() +}, 30); +} +} +function div_off(nm){document.getElementById(nm).style.display="none";} +window.onbeforeunload = function(e){div_off("submenu");} +/* Disable the Search feature if we are not operating from CGI, since */ +/* Search is accomplished using CGI and will not work without it. */ +if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){ +document.getElementById("search_menubutton").style.display = "none"; +} +/* Used by the Hide/Show button beside syntax diagrams, to toggle the */ +function hideorshow(btn,obj){ +var x = document.getElementById(obj); +var b = document.getElementById(btn); +if( x.style.display!='none' ){ +x.style.display = 'none'; +b.innerHTML='show'; +}else{ +x.style.display = ''; +b.innerHTML='hide'; +} +return false; +} +var antiRobot = 0; +function antiRobotGo(){ +if( antiRobot!=3 ) return; +antiRobot = 7; +var j = document.getElementById("mtimelink"); +if(j && j.hasAttribute("data-href")) j.href=j.getAttribute("data-href"); +} +function antiRobotDefense(){ +document.body.onmousedown=function(){ +antiRobot |= 2; +antiRobotGo(); +document.body.onmousedown=null; +} +document.body.onmousemove=function(){ +antiRobot |= 2; +antiRobotGo(); +document.body.onmousemove=null; +} +setTimeout(function(){ +antiRobot |= 1; +antiRobotGo(); +}, 100) +antiRobotGo(); +} +antiRobotDefense(); +</script> +<div class=fancy> +<div class=nosearch> +<div class="fancy_title"> +SQLite Keywords +</div> +</div> + + + + + +<p>The SQL standard specifies a large number of keywords which may not +be used as the names of tables, indices, columns, databases, user-defined +functions, collations, virtual table modules, or any other named object. +The list of keywords is so long that few people can remember them all. +For most SQL code, your safest bet is to never use any English language +word as the name of a user-defined object.</p> + +<p>If you want to use a keyword as a name, you need to quote it. There +are four ways of quoting keywords in SQLite:</p> + +<p> +</p><blockquote> +<table> +<tr> <td valign="top"><b>'keyword'</b></td><td width="20"></td> + <td>A keyword in single quotes is a string literal.</td></tr> + +<tr> <td valign="top"><b>"keyword"</b></td><td></td> + <td>A keyword in double-quotes is an identifier.</td></tr> + +<tr> <td valign="top"><b>[keyword]</b></td><td></td> + <td>A keyword enclosed in square brackets is + an identifier. This is not standard SQL. This quoting mechanism + is used by MS Access and SQL Server and is included in SQLite for + compatibility.</td></tr> + +<tr> <td valign="top"><b>`keyword`</b></td><td></td> + <td>A keyword enclosed in grave accents (ASCII code 96) is + an identifier. This is not standard SQL. This quoting mechanism + is used by MySQL and is included in SQLite for + compatibility.</td></tr> +</table> +</blockquote> + + +<p>For resilience when confronted with historical SQL statements, SQLite +will sometimes bend the quoting rules above:</p> + +<ul> +<li><p>If a keyword in single +quotes (ex: <b>'key'</b> or <b>'glob'</b>) is used in a context where +an identifier is allowed but where a string literal is not allowed, then +the token is understood to be an identifier instead of a string literal. +</p></li> + +<li><p>If a keyword in double +quotes (ex: <b>"key"</b> or <b>"glob"</b>) is used in a context where +it cannot be resolved to an identifier but where a string literal +is allowed, then the token is understood to be a string literal instead +of an identifier.</p></li> +</ul> + +<p>Programmers are cautioned not to use the two exceptions described in +the previous bullets. We emphasize that they exist only so that old +and ill-formed SQL statements will run correctly. Future versions of +SQLite might raise errors instead of accepting the malformed +statements covered by the exceptions above.</p> + +<p> +SQLite adds new keywords from time to time when it takes on new features. +So to prevent your code from being broken by future enhancements, you should +normally quote any identifier that is an English language word, even if +you do not have to. +</p> + +<p> +The list below shows all possible keywords used by any build of +SQLite regardless of <a href="compile.html">compile-time options</a>. +Most reasonable configurations use most or all of these keywords, +but some keywords may be omitted when SQL language features are +disabled. +Applications can use the +<a href="c3ref/keyword_check.html">sqlite3_keyword_count()</a>, <a href="c3ref/keyword_check.html">sqlite3_keyword_name()</a>, and +<a href="c3ref/keyword_check.html">sqlite3_keyword_check()</a> interfaces to determine the keywords +recognized by SQLite at run-time. +Regardless of the compile-time configuration, any identifier that is not on +the following 147-element + +list is not a keyword to the SQL parser in SQLite: +</p> + +<div class="columns" style="columns:11em auto;"> +<ul style="padding-top:0;"> +<li>ABORT</li> +<li>ACTION</li> +<li>ADD</li> +<li>AFTER</li> +<li>ALL</li> +<li>ALTER</li> +<li>ALWAYS</li> +<li>ANALYZE</li> +<li>AND</li> +<li>AS</li> +<li>ASC</li> +<li>ATTACH</li> +<li>AUTOINCREMENT</li> +<li>BEFORE</li> +<li>BEGIN</li> +<li>BETWEEN</li> +<li>BY</li> +<li>CASCADE</li> +<li>CASE</li> +<li>CAST</li> +<li>CHECK</li> +<li>COLLATE</li> +<li>COLUMN</li> +<li>COMMIT</li> +<li>CONFLICT</li> +<li>CONSTRAINT</li> +<li>CREATE</li> +<li>CROSS</li> +<li>CURRENT</li> +<li>CURRENT_DATE</li> +<li>CURRENT_TIME</li> +<li>CURRENT_TIMESTAMP</li> +<li>DATABASE</li> +<li>DEFAULT</li> +<li>DEFERRABLE</li> +<li>DEFERRED</li> +<li>DELETE</li> +<li>DESC</li> +<li>DETACH</li> +<li>DISTINCT</li> +<li>DO</li> +<li>DROP</li> +<li>EACH</li> +<li>ELSE</li> +<li>END</li> +<li>ESCAPE</li> +<li>EXCEPT</li> +<li>EXCLUDE</li> +<li>EXCLUSIVE</li> +<li>EXISTS</li> +<li>EXPLAIN</li> +<li>FAIL</li> +<li>FILTER</li> +<li>FIRST</li> +<li>FOLLOWING</li> +<li>FOR</li> +<li>FOREIGN</li> +<li>FROM</li> +<li>FULL</li> +<li>GENERATED</li> +<li>GLOB</li> +<li>GROUP</li> +<li>GROUPS</li> +<li>HAVING</li> +<li>IF</li> +<li>IGNORE</li> +<li>IMMEDIATE</li> +<li>IN</li> +<li>INDEX</li> +<li>INDEXED</li> +<li>INITIALLY</li> +<li>INNER</li> +<li>INSERT</li> +<li>INSTEAD</li> +<li>INTERSECT</li> +<li>INTO</li> +<li>IS</li> +<li>ISNULL</li> +<li>JOIN</li> +<li>KEY</li> +<li>LAST</li> +<li>LEFT</li> +<li>LIKE</li> +<li>LIMIT</li> +<li>MATCH</li> +<li>MATERIALIZED</li> +<li>NATURAL</li> +<li>NO</li> +<li>NOT</li> +<li>NOTHING</li> +<li>NOTNULL</li> +<li>NULL</li> +<li>NULLS</li> +<li>OF</li> +<li>OFFSET</li> +<li>ON</li> +<li>OR</li> +<li>ORDER</li> +<li>OTHERS</li> +<li>OUTER</li> +<li>OVER</li> +<li>PARTITION</li> +<li>PLAN</li> +<li>PRAGMA</li> +<li>PRECEDING</li> +<li>PRIMARY</li> +<li>QUERY</li> +<li>RAISE</li> +<li>RANGE</li> +<li>RECURSIVE</li> +<li>REFERENCES</li> +<li>REGEXP</li> +<li>REINDEX</li> +<li>RELEASE</li> +<li>RENAME</li> +<li>REPLACE</li> +<li>RESTRICT</li> +<li>RETURNING</li> +<li>RIGHT</li> +<li>ROLLBACK</li> +<li>ROW</li> +<li>ROWS</li> +<li>SAVEPOINT</li> +<li>SELECT</li> +<li>SET</li> +<li>TABLE</li> +<li>TEMP</li> +<li>TEMPORARY</li> +<li>THEN</li> +<li>TIES</li> +<li>TO</li> +<li>TRANSACTION</li> +<li>TRIGGER</li> +<li>UNBOUNDED</li> +<li>UNION</li> +<li>UNIQUE</li> +<li>UPDATE</li> +<li>USING</li> +<li>VACUUM</li> +<li>VALUES</li> +<li>VIEW</li> +<li>VIRTUAL</li> +<li>WHEN</li> +<li>WHERE</li> +<li>WINDOW</li> +<li>WITH</li> +<li>WITHOUT</li> +</ul></div> + +</ul></div><p align="center"><small><i>This page last modified on <a href="https://sqlite.org/docsrc/honeypot" id="mtimelink" data-href="https://sqlite.org/docsrc/finfo/pages/lang_keywords.in?m=0e6afea91e72a5138">2022-11-26 14:56:19</a> UTC </small></i></p> + |