1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
4
<title>SQLite In 5 Minutes Or Less</title>
5
<style type="text/css">
8
font-family: Verdana, sans-serif;
13
a:visited { color: #734559 }
15
.logo { position:absolute; margin:3px; }
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; }
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; }
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 }
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. */
69
<div><!-- container div to satisfy validator -->
72
<img class="logo" src="images/sqlite370_banner.gif" alt="SQLite Logo"
74
<div><!-- IE hack to prevent disappearing logo--></div>
75
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>
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>
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>
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"
98
function leavesearch() {
99
var q = document.getElementById("q");
100
if( q.value == "" ) {
102
q.style.color = "#044a64"
103
q.style.fontStyle = "italic"
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">
116
</div></div></div></div>
118
<div class=startsearch></div>
123
<p>Here is what you do to start experimenting with SQLite without having
124
to do a lot of tedious reading and configuration:</p>
126
<h2>Download The Code</h2>
129
<li><p>Get a copy of the prebuilt binaries for your machine, or get a copy
130
of the sources and compile them yourself. Visit
131
the <a href="download.html">download</a> page for more information.</p></li>
134
<h2>Create A New Database</h2>
137
<li><p>At a shell or DOS prompt, enter: "<b>sqlite3 test.db</b>". This will
138
create a new database named "test.db". (You can use a different name if
140
<li><p>Enter SQL commands at the prompt to create and populate the
141
new database.</p></li>
142
<li><p>Additional documentation is available <a href="sqlite.html">here</a></li>
145
<h2>Write Programs That Use SQLite</h2>
148
<li><p>Below is a simple
149
<a href="http://www.tcl.tk">TCL program</a> that demonstrates how to use
150
the TCL interface to SQLite. The program executes the SQL statements
151
given as the second argument on the database defined by the first
152
argument. The commands to watch for are the <b>sqlite3</b> command
153
on line 7 which opens an SQLite database and creates
154
a new TCL command named "<b>db</b>" to access that database, the
155
invocation of the <b>db</b> command on line 8 to execute
156
SQL commands against the database, and the closing of the database connection
157
on the last line of the script.</p>
162
03 puts stderr "Usage: %s DATABASE SQL-STATEMENT"
165
06 load /usr/lib/tclsqlite3.so Sqlite3
166
07 <b>sqlite3</b> db [lindex $argv 0]
167
08 <b>db</b> eval [lindex $argv 1] x {
169
10 puts "$v = $x($v)"
177
<li><p>Below is a simple C program that demonstrates how to use
178
the <a href="c3ref/intro.html">C/C++ interface</a> to SQLite. The name of a database is given by
179
the first argument and the second argument is one or more SQL statements
180
to execute against the database. The function calls to pay attention
181
to here are the call to <a href="c3ref/open.html">sqlite3_open()</a> on line 22 which opens
182
the database, <a href="c3ref/exec.html">sqlite3_exec()</a> on line 28 that executes SQL
183
commands against the database, and <a href="c3ref/close.html">sqlite3_close()</a> on line 33
184
that closes the database connection.</p>
186
<p>See also the <a href="cintro.html">Introduction To The SQLite C/C++ Interface</a> for
187
an introductory overview and roadmap to the dozens of SQLite interface
191
01 #include <stdio.h>
192
02 #include <sqlite3.h>
194
04 static int callback(void *NotUsed, int argc, char **argv, char **azColName){
196
06 for(i=0; i<argc; i++){
197
07 printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
203
13 int main(int argc, char **argv){
204
14 <b>sqlite3</b> *db;
205
15 char *zErrMsg = 0;
209
19 fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
212
22 rc = <b>sqlite3_open</b>(argv[1], &db);
214
24 fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
215
25 <b>sqlite3_close</b>(db);
218
28 rc = <b>sqlite3_exec</b>(db, argv[2], callback, 0, &zErrMsg);
219
29 if( rc!=SQLITE_OK ){
220
30 fprintf(stderr, "SQL error: %s\n", zErrMsg);
221
31 <b>sqlite3_free</b>(zErrMsg);
223
33 <b>sqlite3_close</b>(db);