sqlite3操作指南

sqlite3操作目录

  • 1.重定向输出
  • 2.查询操作
    • 2.1随机查询
  • 3.查询某个表的建表语句
  • 4.创建表格
  • 5.c/c++操作sqlite数据库

1.重定向输出

//重定向输出到文件
.output ceshi.txt
//重定向输出到屏幕
.output stdout

2.查询操作

2.1随机查询

select * from word order by random() limit 20;

3.查询某个表的建表语句

select sql from sqlite_master where type="table" and name="word";

4.创建表格

CREATE TABLE word
(id integer primary key autoincrement not null,
word text not null,
translate text not null,
ofGroup int not null, 
difficulty int default 0, 
kk int default 0, 
analogue int default 99999)

5.c/c++操作sqlite数据库

#include
#include
#include
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;
    char *sql;
    rc=sqlite3_open("word.db",&db);
    if(rc){
        fprintf(stderr,"Can't open database:%s\n",sqlite3_errmsg(db));
    }else
    {
        fprintf(stderr,"Opened database successfully\n");
    }
    sql = "insert into CPlusPlus(question,answer) values("\
    "'C++中,为什么需要定义析构函数为虚函数?',"\
    "' 因为多态的存在,防止出现实现多态时候基类指针指向派生对象,如果析构函数不是虚函数,在delete对象的时候只会调用基类的析构函数,而不会释放派生类分配的一些资源'"\
    ");";
    rc = sqlite3_exec(db,sql,callback,0,&zErrMsg);
    if(rc != SQLITE_OK){
            fprintf(stderr,"SQL error:%s\n",zErrMsg);
            sqlite3_free(zErrMsg);
    }else{
        fprintf(stdout,"Records created successfully\n");
    }
    sqlite3_close(db);
    return 0;
}

你可能感兴趣的:(软件操作,数据库,sqlite,sqlite3操作)