准备
源码下载
编译安装
tar -zxvf sqlite-autoconf-3330000.tar.gz
cd sqlite-autoconf-3330000/
./configure
make
sudo make install
测试
在任意目录下新建一个数据库,比如sample
命令:sqlite3 sample
会出现如下提示:
SQLite version 3.13.0 2016-05-18 10:57:30
Enter “.help” for usage hints.
sqlite>
输入 .help可以看到命令列表
输入sql语句create table user(username text primary key, password text); 建一张user表
输入sql语句insert into user values(“zys”, “123”); 插入一个用户。–注意是英文引号
输入sql语句select * from user; 可以查看user表.
输入sql命令是记得结尾的’;'号。
用代码测试:
/*********************************************************************************
* Copyright: (C) 2016 huangan
* All rights reserved.
*
* Filename: sqlite.c
* Description: This file
*
* Version: 1.0.0(05/24/2016)
* Author: huangan <894389300@qq.com>
* ChangeLog: 1, Release initial version on "05/24/2016 07:18:01 AM"
*
********************************************************************************/
#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("sample",&db);
if(ret !=SQLITE_OK)
{
fputs("\n",stderr);
return -1;
}
ret = sqlite3_exec(db, "select * from user;", myfunc, &empty, &err);
if(ret != SQLITE_OK)
{
fputs(err,stderr);
fputs("\n",stderr);
sqlite3_close(db);
return -1;
}
if(empty)
{
fputs("table student is empty\n", stderr);
return -1;
}
sqlite3_close(db);
return -1;
}
将.c文件和数据库文件放在同一个目录下,并用GCC编译
:gcc sqlite.c -lsqlite3 (PS:要加上-lsqlite3 指定库文件)
./a.out
就会输出:
基本命令
sqlite3 sample 打开数据库(不存在就创建)
数据库命令是以".“开头的,sql语句是以”;"结尾的
.schema 表名 显示表结构 如:【 .schema student 】
.tables 显示表
.quit 或 .exit 退出数据库控制界面
创建一个数据表:student 【 create table student (id int primary key,name char,age int,sex char); 】
向表中插入数据 insert into 表名 values (值1,值2,值3,值4); 如:【 insert into student values (0,‘zhang0’,20,‘m’); 】 没有返回错误信息则插入成功
查找表中所有内容显示 【 select *from student; 】
查找某个字段(列信息)【 select id from student; 】
按照某个条件查找 【 select * from student where age>25 and sex=‘m’ 】 { 条件 and or 表示 与 ,或 }
修改某个内容 update 表名 set 列名=新值 where 条件; 如:把 zhang0 的名字改为 liwang 【update student set name=‘liwang’ where name=’zhang0‘; 】
修改多个内容:update tbDevList set s_describe=‘水浸’,s_type=‘bbb’,s_baseInfo=‘ccc’ where s_id=‘1’;
删除一条信息 :delete from 表名 where 条件; 如:删除名字为hello的一行内容 【 delete from student where name=‘hello’; 】
添加一列 : alter table 表名 add 列名 数据类型; 【alter table student add address char;】
【update student set address=‘beijing’;】 把地址字段全部更新为beijing
删除一个表 drop table 表名; 【 drop table soc; 】
sqlite3不支持删除一列信息,可以 把原来的表里面的需要的列复制到一个新表,重新命名:create table 新表名 as select 列名1,列名2,列名3,列名4 from 旧表名;
【 create table stu as select id,name,sex from student; 】 选择student表中的id,name,sex字段作为新表的字段
重新命名表 :alter table 旧表名 rename to 新表名; 【 alter table stu rename to student_new; 】
select count(*) from sqlite_master where type=“table” and name = “表名”;
注意:表示字符串可以是""或者’'SQL语句结束必须是一个分号。
备份数据库 导出sql语句:sqlite3 sqlDB.db “.dump” > out.sql
导出sql:先进去,再output,再dump
sqlite3 xxx.db3
.output xxx.sql
.dump
.q
导入sql:先进去,再read
sqlite3 xxx.db3
.read xxx.sql
.q
卸载
一、卸载:
1、浏览已安装的程序。要查看已安装的软件包列表,请输入以下命令。请注意你希望卸载的软件包的名称。这样一会儿可以查看是否真的卸载。
dpkg –list
2、卸载程序和所有配置文件。在终端中输入以下命令:
sudo apt-get –purge remove sqlite3
只卸载程序。如果你移除程序但保留配置文件,请输入以下命令:
sudo apt-get remove sqlite3
图形化工具
SQLite Database Browser
SQLite Database browser 是一个免费、开源的SQLite 数据库的轻量级 GUI 客户端,主要是为非技术用户创建、修改和编辑 SQLite 数据库的工具,使用向导方式实现。
SQLite Administrator
SQLite Administrator 是一个用来管理 SQLite 数据库文件的图形化工具,可进行创建、设计和管理操作。提供代码编辑器具有自动完成和语法着色,支持中文。
SQLiteStudio
SQLiteStudio 是一个开源、跨平台的 SQLite 数据库的管理工具,支持导出数据格式:CSV、HTML、XML、SQL、PDF、JSON、dBase等。可同时打开多个数据库文件,支持查看和编辑二进制字段。
简单好用的图形化工具