diff options
Diffstat (limited to 'www/quickstart.html')
-rw-r--r-- | www/quickstart.html | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/www/quickstart.html b/www/quickstart.html new file mode 100644 index 0000000..4d7d337 --- /dev/null +++ b/www/quickstart.html @@ -0,0 +1,230 @@ +<!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; +} +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> + + + +<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> +<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/quickstart.in?m=314fee0021">2022-01-08 05:02:57</a> UTC </small></i></p> + |