176 lines
6.5 KiB
HTML
Raw Normal View History

<!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>Query Language Understood by SQLite</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;
}
</script>
</div>
<h1 align=center>SQL As Understood By SQLite</h1>
<p>SQLite understands most of the standard SQL
language. But it does <a href="omitted.html">omit some features</a>
while at the same time
adding a few features of its own. This document attempts to
describe precisely what parts of the SQL language SQLite does
and does not support. A list of <a href="lang_keywords.html">SQL keywords</a> is
also provided. The SQL language syntax is described by
<a href="syntaxdiagrams.html">syntax diagrams</a>.
<p>The following syntax documentation topics are available:</p>
<table width="100%" cellpadding="5" border="0">
<tr><td valign="top"><ul>
<div class='columns' style='columns: 17em auto;'>
<ul style='padding-top:0;'>
<li><a href='lang_aggfunc.html'>aggregate functions</a></li>
<li><a href='lang_altertable.html'>ALTER TABLE</a></li>
<li><a href='lang_analyze.html'>ANALYZE</a></li>
<li><a href='lang_attach.html'>ATTACH DATABASE</a></li>
<li><a href='lang_transaction.html'>BEGIN TRANSACTION</a></li>
<li><a href='lang_comment.html'>comment</a></li>
<li><a href='lang_transaction.html'>COMMIT TRANSACTION</a></li>
<li><a href='lang_corefunc.html'>core functions</a></li>
<li><a href='lang_createindex.html'>CREATE INDEX</a></li>
<li><a href='lang_createtable.html'>CREATE TABLE</a></li>
<li><a href='lang_createtrigger.html'>CREATE TRIGGER</a></li>
<li><a href='lang_createview.html'>CREATE VIEW</a></li>
<li><a href='lang_createvtab.html'>CREATE VIRTUAL TABLE</a></li>
<li><a href='lang_datefunc.html'>date and time functions</a></li>
<li><a href='lang_delete.html'>DELETE</a></li>
<li><a href='lang_detach.html'>DETACH DATABASE</a></li>
<li><a href='lang_dropindex.html'>DROP INDEX</a></li>
<li><a href='lang_droptable.html'>DROP TABLE</a></li>
<li><a href='lang_droptrigger.html'>DROP TRIGGER</a></li>
<li><a href='lang_dropview.html'>DROP VIEW</a></li>
<li><a href='lang_transaction.html'>END TRANSACTION</a></li>
<li><a href='lang_explain.html'>EXPLAIN</a></li>
<li><a href='lang_expr.html'>expression</a></li>
<li><a href='lang_indexedby.html'>INDEXED BY</a></li>
<li><a href='lang_insert.html'>INSERT</a></li>
<li><a href='lang_keywords.html'>keywords</a></li>
<li><a href='lang_conflict.html'>ON CONFLICT clause</a></li>
<li><a href='pragma.html#syntax'>PRAGMA</a></li>
<li><a href='lang_reindex.html'>REINDEX</a></li>
<li><a href='lang_savepoint.html'>RELEASE SAVEPOINT</a></li>
<li><a href='lang_replace.html'>REPLACE</a></li>
<li><a href='lang_transaction.html'>ROLLBACK TRANSACTION</a></li>
<li><a href='lang_savepoint.html'>SAVEPOINT</a></li>
<li><a href='lang_select.html'>SELECT</a></li>
<li><a href='lang_update.html'>UPDATE</a></li>
<li><a href='lang_upsert.html'>UPSERT</a></li>
<li><a href='lang_vacuum.html'>VACUUM</a></li>
<li><a href='lang_with.html'>WITH clause</a></li>
</ul>
</div>
</ul></td></tr></table>
<p>The routines <a href="c3ref/prepare.html">sqlite3_prepare_v2()</a>, <a href="c3ref/prepare.html">sqlite3_prepare()</a>,
<a href="c3ref/prepare.html">sqlite3_prepare16()</a>, <a href="c3ref/prepare.html">sqlite3_prepare16_v2()</a>,
<a href="c3ref/exec.html">sqlite3_exec()</a>, and <a href="c3ref/free_table.html">sqlite3_get_table()</a> accept
an SQL statement list (sql-stmt-list) which is a semicolon-separated
list of statements.</p>
<p><b><a href="syntax/sql-stmt-list.html">sql-stmt-list:</a></b></p><div class='imgcontainer'>
<img alt="syntax diagram sql-stmt-list" src="images/syntax/sql-stmt-list.gif"></img>
</div>
<p>Each SQL statement in the statement list is an instance of the
following:</p>
<p><b><a href="syntax/sql-stmt.html">sql-stmt:</a></b></p><div class='imgcontainer'>
<img alt="syntax diagram sql-stmt" src="images/syntax/sql-stmt.gif"></img>
</div>