基于Linux的sqlite3的安装及使用

【1】 sqlite3的安装:
1.离线安装:sudo dpkg -i *.deb
2.在线安装:sudo apt-get install sqlite3     //可以用命令
3.三方库的安装: sudo apt-get install libsqlite3-dev    //函数库

//版本依赖问题解决
https://blog.csdn.net/gymaisyl/article/details/108462433  


【2】 sqlite3的基本命令:
1.系统命令:
    终端界面输入 sqlite3 进入
    进入之后可正常输入命令,如果出现...>的模式,CTRL + d 结束,或者ctrl + z
    
    以‘.’(点)开头的命令
    .help    帮助
    .quit    退出
    .exit    退出
    .schema    查看标的结构图
    .databases    查看打开的数据库
    .table    查看表

2.sql命令:
    不以‘.’(点)开头,但是需要以‘;’(分号)结尾;
    1)创建一张数据的表
    create table student(no Integer,name char,score float);
    数据类型:
        Integer 整型
        char 字符串,也可以用string
        ...
    2)插入一条数据:
    完整数据插入:
        insert into student values(1, ‘zhangsan', 80);
    注意:字符串zhangsan既可以用单引号‘zhangsan’,也可以用双引号“zhangsan”;
    部分数据插入:
        insert into student (no,name) values(2, 'lisi');
    3)查询记录
    完整数据查询:
        select * from student;
    部分数据查询:
        select no,name from student;
    按照条件查询:
        select * from student where score=100;
        select * from student where no=1 and score=100;
        select * from student where no=1 or score=100;
    4)删除记录:
    删除某一条记录:
        delete from student where name='lisi';
    删除整张表数据:    
        delete from student;
    5)更新记录:
    update student set name=‘lisi’ where id=3;
    update student set name='lisi',score=80 where id=2;
    6)在表中增加一列
        alter table student add column address char
    7)在表中删除一列:
        不支持直接删一列:
        1)创建一个新的表并从原有表中提取字段;
            create table stu as select id, name, score from student;

        2)删除原有的表格;
            drop table student;
        3)将新的表格名字改为原有表的名字
            alter table stu rename to student;

【3】 sqlite3函数接口:

int sqlite3_open(
  const char *filename,   /* Database filename (UTF-8) 要操作的数据库文件的路径;*、
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);
功能:打开一个数据库;
参数:
    filename:    代表数据库的路径名;
    ppdb:        代表数据库的操作句柄(指针);
返回值:成功-SQLITE_OK,出错-错误码;    

int sqlite3_close(sqlite3*);
功能:关闭数据库
参数:
    db    :操作数据库的句柄;
返回值:成功-SQLITE_OK,出错-错误码;

const char *sqlite3_errmsg(sqlite3*);
功能:通过db句柄,得到数据库操作的错误信息;
返回值:错误信息的首地址;
/********************************************************
int sqlite3_exec(
  sqlite3*,                                  /* An open database */
  const char *sql,                           /* SQL to be evaluated */
  int (*callback)(void*,int,char**,char**),  /* Callback function */
  void *,                                    /* 1st argument to callback */
  char **errmsg                              /* Error msg written here */
);
功能:执行一条sql语句;
参数:
    db    :数据库操作句柄;
    sql    :一条sql语句;
    callback:只有sql为查询语句的时候,才会执行此语句;
    arg    :给回调函数callback传递参数;
    errmsg    :错误消息
返回值:成功-SQLITE_OK,出错-错误码;

int (*callback)(void *arg, int, char **, char **);    /* Callback function */
功能:查询的结果,是一个函数指针类型,传递一个函数名即可。
参数:
    para    :传递给回调函数的参数;
    f_num    :记录中包含的字段数目;
    f_value    :包含每个字段值的指针数组;
    f_name    :包含每个字段名称的指针数组
返回值:成功返回0,失败返回-1;    
***********************************************************/

查询数据:
int sqlite3_get_table(
  sqlite3 *db,          /* An open database */
  const char *zSql,     /* SQL to be evaluated */
  char ***pazResult,    /* Results of the query */
  int *pnRow,           /* Number of result rows written here */
  int *pnColumn,        /* Number of result columns written here */
  char **pzErrmsg       /* Error msg written here */
);
功能,查询表中数据
参数:
    db    :数据库操作句柄
    zSql    :查询的sql语句
    pazResult    :查询结果的返回地址;
    pnRow    :满足条件的记录数目(表中的行数)
    pnColumn:每条记录包含的字段数目(表中的列数)
    pzErrmsg:错误信息指针的地址;
返回值:成功返回0,失败返回错误码。

void sqlite3_free_table(char **result);

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

এ᭄星辰

混口饭吃。。。。。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值