• 作业day6


    数据库

    sqlite3 sq.db 如果sq.db存在则直接打开sq.db数据库,如果不存在则先创建再打开; ​

    系统命令

    需要以 . 开头,不需要以 ; 结尾

    .quit 退出数据库

    .exit 退出数据库

    .help 显示帮助信息,获取所有系统命令; ​

    .table 查看当前数据库下的所有表格;

    .schema 查看表的结构

    创建表格create table 表名 (字段名 数据类型, 字段名 数据类型); create table if not exists 表名 (字段名 数据类型, 字段名 数据类型); ​

    删除表格drop table 表名;

    安装:

    sudo apt-get update 安装软件及开发环境

    sudo apt-get install sqlite3 --->sqlite3数据库软件

    sudo apt-get install libsqlite3-dev --->sqlite3数据库开发支持库

    sudo apt-get install sqlitebrowser --->sqlite3数据库操作软件

    3)插入记录

    1) 全字段插入 insert into 表名 values (数据1, 数据2, 数据3);

    2) 部分字段插入 insert into 表名 (字段名1, 字段名2) values (数据1, 数据2);

    4)查看记录

    .header on 打开表头 .mode column 对齐 在终端输入shell指令:sqlitebrowser sq.db 图形化界面

    5)修改记录

    update 表名 set 字段=数值 where 限制条件;

    6)删除记录

    delete from 表名 where 限制条件;

    7)主键

    primary key 主键;

    create table 表名(字段名 数据类型 primary key, 字段名 数据类型);

    primary key主键:唯一标识表格中的每一条记录;

    8)拷贝

    从a中拷贝所有数据到b中: create table b as select * from a;

    API:

    1)sqlite3_open

    int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ );

    功能:打开一个数据库,如果数据库不存在,则创建一个数据库

    2)sqlite3_close

    int sqlite3_close(sqlite3*); 功能:关闭数据库,断开句柄所拥有的资源

    3)sqlite3_errmsg

    const char *sqlite3_errmsg(sqlite3*); 功能:通过出错的句柄返回错误信息

    4)sqlite3_errcode

    int sqlite3_errcode(sqlite3 *db) 功能:通过错误句柄返回错误码

    5)sqlite3_exec

    int sqlite3_exec( sqlite3* db, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ );

    功能:调用该函数,执行sql语句

    6)回调函数

    int callback(void* arg,int cols,char** col_text, char** col_name)

    功能:处理sqlite3_exec执行sql语句后的结果集,每有一条记录,就会执行一次callback函数

    7)sqlite3_get_table

    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 */ );

    功能:通过执行sql语句,得到结果集中的内容

    8)sqltie3_free_table

    void sqlite3_free_table(char **result); 功能:释放表的空间

  • 相关阅读:
    Activity之间数据回传【Android、activity回传、结合实例】
    Java基础语法
    排序算法.
    HC-05 蓝牙模块之间的通信配置
    适配器模式 结构性模式之五
    Qt Creator的简单使用方法
    多 Activity 多 Page 的 UI 架构
    以太坊若分叉 NFT也会“分叉”吗?
    android 编译产物
    按键的单击、双击、连续按、短按和长按实现思路
  • 原文地址:https://blog.csdn.net/2302_76612694/article/details/136128339