SQlite的操作以及函数

SQLite常用命令

  •  sqlite3 file.db 
    创建名吧file的库文件并上及SQL命令行模式,提示符变为sqlite>

” height=”122″ width=”480″/>

  • .help 可展示shell模式中唯独采用的有命令列表以及令的义

  • .database  显示数据库信息;包含当前数据库的位置

 

  • create table student( Sno integer primary key,   Sname text not
    null,   Ssex text default ‘M’,Sage integer default 19,Sdept text
    default ‘CS’); 
    创建一个包含Sno,Sname,Ssex,Sage,Sdept五个标题的一个表格,里面包含各级一个题目的自律原则

create table student :创建一个阐明,名吧student

Sno integer primary key:标题为Sno,类型为integer整型,约束原则吧primary
key主键即Sno在表中绝无仅有,且数值自动增长

Sname text not null :标题为Sname,类型为text字符串,约束规范吧not
null就是不行省略,必须填写

Ssex text default
‘男’:类型也Ssex,类型为text字符串,约束规范为default,默认为阳,省略不写的话默认为M

Sage integer default 19
:标题为Sage,类型为integer整型,约束规范也default默看19,就是说要省略不写的语句就因为19填写充

Sdept text default ‘CS’
:标题为Sdept,类型也text字符串,约束原则也default默认为CS,就是说如果看略不写的说话就是因为CS填充

  • .tables  列出当前数据库被设有的申
  • insert into student values(‘95001’,’李勇’,’M’,20,’CS’);
  • insert into student values(‘95002’,’刘晨’,’F’,19,’IS’);
  • insert into student values(‘95003’,’王敏’,’F’,18,’MA’);
  • insert into student values(‘95004’,’张立’,’M’,18,’IS’); 
    向student这个表中插入4号称学童的信息

  • select * from student;
    显示表中全部信息(但是来得的就是情,没有标题)

  • .header on/off 
    给表中的音讯添加标题的开/关,但得发现这样标题和信并无对同

  • .mode list  默认的显示方式

  • .mode column  表中之情节以列方式对共同显示

  • .mode line  表中之始末为形式行的法子示

  • .mode tabs  以标签的办法展示

  • .mode tcl  以对引号的款型显得

  • .mode csv 为逗号隔开显示

select Sno , Sname, Ssex, Sage, Sdept from student; .m.20.cs ilk”, f,
19,1S . f. 18.MA” height=”159″ width=”403″/>

  • .mode insert 将插的内容显示出

  • .exit /.quit  退出数据库模式

  • select *from student where Sname=’李勇’;  按照人名单一查找
  • select *from student where Sname=’李勇’ and Sage=20; 
    按照有限单原则并判断

  • select Sage from student where Sname=’李勇’; 
    按照姓名的口径查看姓名对应之音讯中之齿信息

  • insert into student(Sname,Sage) values (‘pengd’,19);

  • insert into student(Sname,Sage) values (‘彭丹’,19); 
    按照缺省的模式插入部分情,Sno自动增加,其中Sname是要输入的旁的还有默认值

  • delete from student where Sname=’pengd’;  指定条件去指定的消息

  • create table student_1(Sno integer primary key,Sname text not null,
    Ssex text default ‘M’,Sage integer default 19,Sdept text default
    ‘CS’);  创建一个新表,然后可以透过.tables查看多出去的阐明

  •  drop table student_1;  删除名也student_1的表

  • .schema student   查看表的结构,也尽管是发明中隐含信息之组织

  • update student set Ssex=’f’,Sage=21 where Sname=’李勇’; 
    更新名也李勇这人口的其他相关消息

  • alter table student add column Spwd text default ‘123456’; 
    插入一个字段名吧Spwd,默认类型是text,默认值是123456

  •  alter table student rename to stu;  将表重命名为stu

 

3.SQLite数据库编程接口函数

  头文件:#include<stdio.h>

      #include<stdlib.h>

      #include<sqlite3.h>

  打开sqlite数据库:int sqlite3_open(char *path,sqlite3 **db);

  关闭sqlite数据库:int sqlite3_close(sqlite3 *db);

  传递错误信息:const char *sqlite3_errmsg(sqlite3 *db);

  参数:char *path:数据库文件的途径

            sqlite3 **db:指向sqlite句柄的指针

  返回值:成功也0,失败返回错误码

 

  int sqlite3_exec(sqlite3 *db,const
char *sql,sqlite_callback callback,void *para,char **errmsg); 

  功能:执行SQL操作

  参数:sqlite3 *db:指向sqlite句柄的指针

            const char *sql:SQL语句

            sqlite3_callback callback:回调函数

            void *para:传递给回调函数的参数

  char **errmsg:错误信息指针的地点

  返回值:成功返回回0,错误返回错误码

 

   typedef int(*sqlite_callback)(void *para,int f_num,char
**f_value,char **f_name);

  功能:每找到同样长记下自动执行同样坏回调函数

  参数:para:传递给回调函数的参数

    f_num:记录着涵盖的字段数目

    f_value:包含每个字段值的指针数组

    f_name:包含每个字段名称的指针数组

  返回值:成功返回回0,失败返回-1

 

   int sqlite3_get_table(sqlite3 *db,const char *sql,char
***resultp,int *nrow,int *ncolumn,char **errmsg);

  功能:执行SQL操作

  参数:db:数据库句柄

            sql:SQl语句

            resultp:用来因于sql执行结果的指针

            nrow:满足条件的笔录的数额

            ncolumn:每条记下面临涵盖的字段数目

            errmsg:错误信息指针的地址

  返回值:成功返回回0,失败返回错误码

网站地图xml地图