mirror of
				https://github.com/sqlite/sqlite.git
				synced 2025-11-03 16:53:36 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Tcl
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Tcl
		
	
	
	
	
	
#
 | 
						|
# Run this TCL script to generate HTML for the quickstart.html file.
 | 
						|
#
 | 
						|
set rcsid {$Id: quickstart.tcl,v 1.8 2006/06/13 11:27:22 drh Exp $}
 | 
						|
source common.tcl
 | 
						|
header {SQLite In 5 Minutes Or Less}
 | 
						|
puts {
 | 
						|
<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="sqlite.html">here</a></li>
 | 
						|
</ul>
 | 
						|
 | 
						|
<h2>Write Programs That Use SQLite</h2>
 | 
						|
 | 
						|
<ul>
 | 
						|
<li><p>Below is a simple TCL program 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 TCL command named "<b>db</b>" to access that database, the
 | 
						|
invocation of the <b>db</b> command on line 8 to execute
 | 
						|
SQL commands against the database, and the closing of the database connection
 | 
						|
on the last line of the script.</p>
 | 
						|
 | 
						|
<blockquote><pre>
 | 
						|
#!/usr/bin/tclsh
 | 
						|
if {$argc!=2} {
 | 
						|
  puts stderr "Usage: %s DATABASE SQL-STATEMENT"
 | 
						|
  exit 1
 | 
						|
}
 | 
						|
load /usr/lib/tclsqlite3.so Sqlite3
 | 
						|
<b>sqlite3</b> db [lindex $argv 0]
 | 
						|
<b>db</b> eval [lindex $argv 1] x {
 | 
						|
  foreach v $x(*) {
 | 
						|
    puts "$v = $x($v)"
 | 
						|
  }
 | 
						|
  puts ""
 | 
						|
}
 | 
						|
<b>db</b> close
 | 
						|
</pre></blockquote>
 | 
						|
</li>
 | 
						|
 | 
						|
<li><p>Below is a simple C program that demonstrates how to use
 | 
						|
the C/C++ interface 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 <b>sqlite3_open()</b> on line 22 which opens
 | 
						|
the database, <b>sqlite3_exec()</b> on line 27 that executes SQL
 | 
						|
commands against the database, and <b>sqlite3_close()</b> on line 31
 | 
						|
that closes the database connection.</p>
 | 
						|
 | 
						|
<blockquote><pre>
 | 
						|
#include <stdio.h>
 | 
						|
#include <sqlite3.h>
 | 
						|
 | 
						|
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
 | 
						|
  int i;
 | 
						|
  for(i=0; i<argc; i++){
 | 
						|
    printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
 | 
						|
  }
 | 
						|
  printf("\n");
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
int main(int argc, char **argv){
 | 
						|
  sqlite3 *db;
 | 
						|
  char *zErrMsg = 0;
 | 
						|
  int rc;
 | 
						|
 | 
						|
  if( argc!=3 ){
 | 
						|
    fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
 | 
						|
    exit(1);
 | 
						|
  }
 | 
						|
  rc = <b>sqlite3_open</b>(argv[1], &db);
 | 
						|
  if( rc ){
 | 
						|
    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
 | 
						|
    sqlite3_close(db);
 | 
						|
    exit(1);
 | 
						|
  }
 | 
						|
  rc = <b>sqlite3_exec</b>(db, argv[2], callback, 0, &zErrMsg);
 | 
						|
  if( rc!=SQLITE_OK ){
 | 
						|
    fprintf(stderr, "SQL error: %s\n", zErrMsg);
 | 
						|
    sqlite3_free(zErrMsg);
 | 
						|
  }
 | 
						|
  <b>sqlite3_close</b>(db);
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
</pre></blockquote>
 | 
						|
</li>
 | 
						|
</ul>
 | 
						|
}
 | 
						|
footer {$Id: quickstart.tcl,v 1.8 2006/06/13 11:27:22 drh Exp $}
 |