Linux数据库(sqlite)编程:
一:数据库与表:
1:sqlite将每个数据库都保存成一个文件;
2:数据库中的每个数据被组织成表的形式,表由若干个相同字段的记录组成;
3:每个表中可以指定一个或多个字段为主键,表中所记录的主键的值都不能重复。这种不重复是在插入记录时控制的,即向表中插入一个相同记录的话,则插入失败。
二:数据库的启动
1:sqlite3 student.db
2:其中,student.db是要操作的数据库文件,如果它不存在,则会自动创建一个新的空数据库;
三:创建表
eg: create table student (ID INTEGER , sex TEXT, name TEXT , age INTEGER ,tell INTEGER ,primary key(ID));
四:sql 语句汇总
1: .tables //显示数据库中的所有表名
.exit //退出sqlite互动模式的命令
.schema // 查看表的结构
2:增加一列数据 及 表的重命名
alter table student rename to student2; // 将表student重命名为student2;
alter table student add column sex text; //在表student中增加sex;
3: 删除表
drop table student; //删除表student,表删除后,表中所有存储的数据将全部丢弃
delete from student where ID=2; //删除表中 ID=2 的哪一行
4:插入记录及查询
select * from student; // 查询student表中的所有数据
select * from student order by id; //按ID顺序查找student中的所有信息;
select * from student order by id asc/desc; //按ID的正顺序/逆顺序查找表中的所有信息;
select * from student where id > 3; //查找ID>3的所有信息;
select * from student where id>=2 and id<=4; //查找student表中 4>=ID>=2 的所有信息;
select * from student where name like 'T%'; // 查找表student中所有以T开头的所有信息;
insert into student values(1, 'boy' , 'leikun', 20 , 159084111); //在表student中插入新的记录;
五:修改记录
update student set name='leikun' where id =2; // 将表中ID=2 的name 改为 leikun;
六:打开和关闭数据库
1:打开数据库
#include<sqlite.h>
int sqlite3_open(文件名,sqlite3**) // 用这个函数开始数据库操作
需要传入两个参数,一个是数据库文件名,比如:database.db
如果此文件不存在,sqlite会自动建立它,如果它存在,则尝试将它当作数据库文件来打开;
sqlite** 为关键数据结构;
2:关闭数据库
int sqlite3_close(sqlite *);
如果前面用 sqlite_open 打开个一个数据库, 结尾时一定要用 sqlite_close 关闭数据库
下面给出一个小程序:
int main()
{
sqlite3 * db = NULL; //声明sqlite关键结构指针
int result;
result = sqlite3_open(“database.db”, &db );
if( result != SQLITE_OK ) // 数据库正常打开,则返回值为: SQLITE_OK
{
return -1;
}
sqlite3_close( db );
return 0;
}
// sql 语句执行函数
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void *, char **errmsg );
// 查询数据库的 sql 语句函数
int sqlite3_get_table(sqlite3*, const char *sql, char ***resultp, int *nrow, int *ncolumn, char **errmsg );
其中返回的结果都存放在一维数组 resultp 中
1:sqlite将每个数据库都保存成一个文件;
2:数据库中的数据被组织成表的形势,表由若干个相同字段的记录组成;