206 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!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 In 5 Minutes Or Less</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>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<p>Here is what you do to start experimenting with SQLite without having
 | 
						|
to do a lot of tedious reading and configuration:</p>
 | 
						|
 | 
						|
<h2>Download The Code</h2>
 | 
						|
 | 
						|
<ul>
 | 
						|
<li><p>Get a copy of the prebuilt binaries for your machine, or get a copy
 | 
						|
of the sources and compile them yourself.  Visit
 | 
						|
the <a href="download.html">download</a> page for more information.</p></li>
 | 
						|
</ul>
 | 
						|
 | 
						|
<h2>Create A New Database</h2>
 | 
						|
 | 
						|
<ul>
 | 
						|
<li><p>At a shell or DOS prompt, enter: "<b>sqlite3 test.db</b>".  This will
 | 
						|
create a new database named "test.db".  (You can use a different name if
 | 
						|
you like.)</p></li>
 | 
						|
<li><p>Enter SQL commands at the prompt to create and populate the
 | 
						|
new database.</p></li>
 | 
						|
<li><p>Additional documentation is available <a href="cli.html">here</a>.</li>
 | 
						|
</ul>
 | 
						|
 | 
						|
<h2>Write Programs That Use SQLite</h2>
 | 
						|
 | 
						|
<ul>
 | 
						|
<li><p>Below is a simple 
 | 
						|
<a href="http://www.tcl-lang.org">TCL program</a> that demonstrates how to use
 | 
						|
the TCL interface to SQLite.  The program executes the SQL statements
 | 
						|
given as the second argument on the database defined by the first
 | 
						|
argument.  The commands to watch for are the <b>sqlite3</b> command
 | 
						|
on line 7 which opens an SQLite database and creates
 | 
						|
a new object named "<b>db</b>" to access that database, the
 | 
						|
use of the <a href="tclsqlite.html#eval">eval method</a> on the <b>db</b> object on line 8 to run
 | 
						|
SQL commands against the database, and the closing of the database connection
 | 
						|
on the last line of the script.</p>
 | 
						|
 | 
						|
<blockquote><pre>
 | 
						|
01  #!/usr/bin/tclsh
 | 
						|
02  if {$argc!=2} {
 | 
						|
03    puts stderr "Usage: %s DATABASE SQL-STATEMENT"
 | 
						|
04    exit 1
 | 
						|
05  }
 | 
						|
06  package require sqlite3
 | 
						|
07  <b>sqlite3</b> db [lindex $argv 0]
 | 
						|
08  <b>db</b> eval [lindex $argv 1] x {
 | 
						|
09    foreach v $x(*) {
 | 
						|
10      puts "$v = $x($v)"
 | 
						|
11    }
 | 
						|
12    puts ""
 | 
						|
13  }
 | 
						|
14  <b>db</b> close
 | 
						|
</pre></blockquote>
 | 
						|
</li>
 | 
						|
 | 
						|
<li><p>Below is a simple C program that demonstrates how to use
 | 
						|
the <a href="c3ref/intro.html">C/C++ interface</a> to SQLite.  The name of a database is given by
 | 
						|
the first argument and the second argument is one or more SQL statements
 | 
						|
to execute against the database.  The function calls to pay attention
 | 
						|
to here are the call to <a href="c3ref/open.html">sqlite3_open()</a> on line 22 which opens
 | 
						|
the database, <a href="c3ref/exec.html">sqlite3_exec()</a> on line 28 that executes SQL
 | 
						|
commands against the database, and <a href="c3ref/close.html">sqlite3_close()</a> on line 33
 | 
						|
that closes the database connection.</p>
 | 
						|
 | 
						|
<p>See also the <a href="cintro.html">Introduction To The SQLite C/C++ Interface</a> for
 | 
						|
an introductory overview and roadmap to the dozens of SQLite interface
 | 
						|
functions.</p>
 | 
						|
 | 
						|
<blockquote><pre>
 | 
						|
01  #include <stdio.h>
 | 
						|
02  #include <sqlite3.h>
 | 
						|
03  
 | 
						|
04  static int callback(void *NotUsed, int argc, char **argv, char **azColName){
 | 
						|
05    int i;
 | 
						|
06    for(i=0; i<argc; i++){
 | 
						|
07      printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
 | 
						|
08    }
 | 
						|
09    printf("\n");
 | 
						|
10    return 0;
 | 
						|
11  }
 | 
						|
12  
 | 
						|
13  int main(int argc, char **argv){
 | 
						|
14    <b>sqlite3</b> *db;
 | 
						|
15    char *zErrMsg = 0;
 | 
						|
16    int rc;
 | 
						|
17  
 | 
						|
18    if( argc!=3 ){
 | 
						|
19      fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
 | 
						|
20      return(1);
 | 
						|
21    }
 | 
						|
22    rc = <b>sqlite3_open</b>(argv[1], &db);
 | 
						|
23    if( rc ){
 | 
						|
24      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
 | 
						|
25      <b>sqlite3_close</b>(db);
 | 
						|
26      return(1);
 | 
						|
27    }
 | 
						|
28    rc = <b>sqlite3_exec</b>(db, argv[2], callback, 0, &zErrMsg);
 | 
						|
29    if( rc!=SQLITE_OK ){
 | 
						|
30      fprintf(stderr, "SQL error: %s\n", zErrMsg);
 | 
						|
31      <b>sqlite3_free</b>(zErrMsg);
 | 
						|
32    }
 | 
						|
33    <b>sqlite3_close</b>(db);
 | 
						|
34    return 0;
 | 
						|
35  }
 | 
						|
</pre></blockquote>
 | 
						|
<p>See the <a href="howtocompile.html">How To Compile SQLite</a> document for instructions and hints on
 | 
						|
how to compile the program shown above.
 | 
						|
</li>
 | 
						|
</ul>
 | 
						|
 |