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>
 | |
| 
 |