Linux c 数据库 学习

一、数据库的安装:
1、将sqlite3安装包移动到Linux/tmp)
2、解压:tar -xzvf sqlite-autoconf-3071700.tar.gz
3、进入文件:cd sqlite-autoconf-3071700
4、运行./configure(用来生成makefile文件)
5、make
6、sudo make install
二、数据库的启动
sqlite3 student.db
(其中student.db是要操作的数据库文件,如果不存在就会自动新建。一个新的空数据库)
三、sqlite3命令行工具
.exit,退出sqlite互动模式的命令
.help,列出命令的提示信息
.tables,显示数据库中所有表名。
.schema查看表结构
.datebase 显示当前打开的数据库文件
四、创建表
用create语句在数据库中创建表

create table student(
      ID   INTEGER,
      name TEXT,
      sex TEXT,
      age INTEGER,
      primary key(ID)
        );

五、增加一列数据以及表的重命名

alter table stu rename to stu2;//将表stu重命名为stu2
alter table stu1 add column sex text;//在表stu1中增加sex列

六、删除表

    drop table student;             //将表 student 删除

七、插入记录以及查询

    insert into student values(1,'zhang','M',18);   //插入新纪录
select id from stu1;                //查找stu1中的id
select * from stu1;             //查找stu1中的所有信息
select * from stu1 order by id; //按ID的顺序查找stu1中的所有信息
select * from stu1 order by id asc; //按id的正顺序查找stu1的所有信息
select * from stu1 order by id desc;        //......倒序查询
select * from stu1 where  id >3;        //查找id>3 的所有信息
select * from stu1 where id between 2 and 4;
select * from stu1 where id >=2 and id<=4;  //查找2<=id<=4的所有信息
select * from stu1 where name like 'T%';    //T开头的名字的所有信息
select * from stu1 where name like '%T%';   //有T的名字 的所有信息

八、修改记录

    update stu1 ?set name ='wim'where id =2;        //将表stu1中id=2的那么改为wim

九、删除记录

    delete from student where ID=2;
如果没有where子句,则整张表都会被删掉成为一张空表;

十、打开数据库
#include <#sqlite3.h> //头文件

int sqlite3_open (文件名,sqlite3**);
这个函数开始数据库操作。传入两个参数,文件名 eg:database.db。
(如果此文件不存在,sqlite会自动建立)

代码段:
    int main()
    {
        sqlite3 *db =NULL;
        int result;
        result=sqlite3_open("database.db",&db);
        if(result!=SQLITE_OK)
            {
                return -1;  
            }
        sqlite3_close(db);
        return 0;
    }

十一、执行sql语句

    int sqlite3_exec(sqlite3*,const char * sql,sqlite3_callback,viod*,char **errmsg);
这是 执行一条sql语句的函数。
1、第一个参数:前面open函数得到的指针;  
2、const char *sql: 一条sql语句,以\0结尾;
3、sqlite3_callback 是回调 ,当这条语句执行完之后,sqlite3 会去调用你提供的函数;
4、viod*:这个参数最终会传到回调函数里,如果不需要传递指针给回调函数,可以填NULL;
5、char ** errmsg:这是错误信息。 注意  是指针的指针。sqlite3里面有很多固定的错误信息
    执行sqlite3_exec之后,执行失败时可以查阅这个指针(直接printf("%s\n",errmsg);)
    得到一个字符串信息告诉你错在哪?
6、编译时需要加入-lsqlite3的库文件。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值