网络编程(三)sqlist轻量级数据库的简单应用

数据库

SQList轻量级数据库

  • sqlite3工具命令:

    • sqlite3 *.db :打开或创建这个名字的数据库文件
    • .tables :显示数据库文件中的数据库表名
    • .schema lable:查看表中的内容
    • .help :查看工具命令
  • 数据库SQL命令

    • 创建表:
      • create lable (名字+类型) {ex:user(姓名 text,学号 integer)}
      • 如果表存在则不管,不存在创建
    • 插入数据
      • intsert into (表名)values(值) {ex: user(姓名, 学号,…)values(‘丽丝’, 21,…)}不想写入的就写NULL
    • 删除表
      • drop table 表名
    • 查询数据库表
      • select (查询目标) from (查询表)
        • ex: select 学号 … from user
        • 如果学号为*则表示查询(查询表中)所以字段
    • 删除数据库表中某条数据
      • delete from 表名 where 字段名=字段值
        • ex:delete from user where 学号=21 (and 姓名=‘丽丝’)
    • 修改数据库表,某条数据
      • update 表名 set 要改的字段名=要改的字段值,要改的字段名=要改的字段值 where 来自哪个字段名=来自哪个的字段值
        • ex:update user set 学号=32,性别=‘男’ … where 姓名=张三

    函数的运用

    int sqlite3_open(char *path, sqlite3 **db)
    {
        打开sqlite数据库
            path : 数据库文件路径
            db:指向sqlite句柄的指针
            返回值:成功返回0	--SQLITE_OK
                	失败错误码
    }
    
    int sqlite3_close(sqlite3 *db)
    {
        关闭数据库
        返回值:成功0
            	失败错误码
    }
    
    const char *sqlite3_errmsg(sqlite3 *db)
    {
        返回错误信息
    }
    
    typedef int (*sqlite3_callback)(void *,int, char **,char **)
    
    int sqlite3_exec(sqlite3 *db, const char *sql, sqlite3_callback callback, void *, char **errmsg)
    {
        执行SQL操作
        db:数据库句柄
        sql:SQL语句
        callback:回调函数
        errmsg:错误信息指针地址
        返回值:成功返回0,失败返回错误码
        
        创建数据表:
        // primary key :设置字段为 主键     autoincrement:设置integer的主键 数值自增长
    	char sql[128] = "create table if not exists user( \
    					id integer primary key autoincrement, \	  id名字
    					name text, \							  姓名
    					sex varchar, \							  性别
    					age integer);";							  年龄
    	sqlite3_exec(db, sql, NULL, NULL, NULL)
                            
        插入数据
        sprintf(sql, "insert into user(id, name, sex, age) values(NULL, '%s', '%c', %d);", name, sex, age);
        sqlite3_exec(db, sql, NULL, NULL, NULL)
        
            
            删除\修改都和上面的一样,把命令放入sql中,调用函数就能执行
    
    }
    
    int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int *norw, int *ncolumn, char **errmsg);
    {
        db : 数据库句柄
        sql:sql语句,这儿只能用查找语句
        resultp :指向sql执行结果的指针(第一行为 字段,以下行才是字段数)
        nrow:返回查找总行数
        ncolumn:返回表的列数
        errmsg:错误信息的地址
        返回值 :   成功 0
            		失败错误码
    
    }
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值