sqlite3操作指南

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<stdio.h>
#include<stdlib.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;
    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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值