1. 程式人生 > >Linux 下Sqlite3 的安裝及應用

Linux 下Sqlite3 的安裝及應用

1 安裝

去sqlite主頁http://www.sqlite.org/.跳轉到下載也http://www.sqlite.org/download.html。原始碼下載sqlite-amalgamation-3.7.3.tar.gz

我去的時候是3.7.3版現在估計升級了。

進入下載目錄,解壓檔案tar -zxvf sqlite-amalgamation-3.7.3.tar.gz.

解壓後生成sqlite-3.7.3目錄. cd 進入sqlite-3.7.3。

./configure

make

sudo make install

安裝完成。

2測試

在任意目錄下新建一個資料庫,比如student ,

命令: sqlite3 student

出現如下提示:

SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

輸入.help可以看到命令列表。

輸入sql語句create table user(username text primary key, password text); 建一張user表

輸入sql語句insert into user values("tianyou121", "123"); 插入一個使用者。

輸入sql語句select * from user; 可以檢視user表.

輸入sql命令是記得結尾的';'號。

可以輸入如下程式測試資料庫:

#include <stdio.h>
#include <stdlib.h>

#include <sqlite3.h>

int myfunc(void *p, int argc, char **argv, char **argvv)
{
	int i;
	*(int *)p = 0;
	for(i =0; i < argc; i++)
	{
		printf("%s = %s ", argvv[i], argv[i] ? argv[i] :"NULL");
	}
	putchar('/n');
	return 0;
 }
 
int main(int argc, char *argv[])
{
	sqlite3 *db;
	char *err =0;
	int ret =0;
	int empty =1;

	ret = sqlite3_open("student",&db);
	if(ret !=SQLITE_OK)
	{
		fputs("/n",stderr);
		exit(1);
	}
	ret = sqlite3_exec(db, "select * from user;", myfunc, &empty, &err);

	if(ret != SQLITE_OK)
	{
		fputs(err,stderr);
		fputs("/n",stderr);
		sqlite3_close(db);
		exit(1);
	}
 
	if(empty)
	{
		fputs("table student is empty/n", stderr);
		exit(1);
	}

	sqlite3_close(db);

	return 0;
 }

儲存檔案為sqlite3_t.c和資料庫檔案放在一個目錄下。
用gcc 編譯:gcc -o sqlite_t sqlite3_t.c -lsqlite3

記得加上-lsqlite3指定庫檔案,否則編譯不通。

./sqlite_t

可以看到user表中使用者資訊