1.数据库的介绍
基于嵌入式的数据库主要有:SQLite,Firebird,Berkeley DB,eXtremeDB
Firebird
是关系型数据库,功能强大,支持存储过程,SQL兼容等
SQLite
关系型数据库,体积小,支持ACID事务
Berkeley DB
并没有数据库服务器的概念,他的程序直接链接到应用程序中
eXtremeDB
是内存数据库,运行效率高
补充一点:嵌入式平台对资源要求特别高,不可能安装一些大型数据库,就连mySQL也有大几百兆,资源方面受到限制。
SQLite:轻量级数据库,任然能完成大型数据库的绝大多数功能,好处在于体积小,占用代码小,但是任然有部分功能不支持,如对数据类型的检测方面
实现sqlite有两种方式
1.Ubuntu下命令行模式
2.用C语言编程调用接口
sqlite特性:
1.零配置,无需安装和管理配置
2.存储在单一磁盘文件中的一个完整数据库
3.数据库文件可以在不同字节顺序的机器间自由共享
4.文件数据库大小2TB
5.足够小,全部源代码大致3万行,250kb
6.比目前大多数流行的数据库对数据的操作要快
2.数据库的在线安装
sudo apt-get install sqlite3
输入sqlite3查看是否是否安装成功
3.数据库的命令
命令分为系统命令和sql语句
(1)系统命令 , 都以’.'
开头
.help 帮助
.exit 退出
.quit 退出
.table 查看表
.schema 查看表的结构
.databases 列出当前打开的数据库
(2)sql语句, 不以‘.’开头,但都以‘;’
结尾
1.创建一张表格
create table stu(id Integer,name char,score Integer);
2.插入一条记录
insert into stu values(18130106,'huang',99);
insert into stu values(18130101,"gang",100);
''和""都行
部分字段的插入
insert into stu(name,score) values("huanggang",98);
3.查看数据库的记录
select * from stu; //查询所有字段的结果
select name,score from stu; //查询数据库中部分字段的内容
where:条件表达式
同时满足多个条件中间用and
满足部分条件用or
4.删除一条记录
delete from stu where id = 18130101;
5.更改一条记录
update stu set name = 'huangg' where id = 18130106;
6.删除一张表
drop table stu;
7.增加一列
alter table stu add column sex char;
8.删除一列
sqlite不支持直接删除一行,需要经过下面三个步骤:
第一步:创建一张新的表
create table stu1 as select id,name,score from stu;
第二步:删除原有的表
drop table stu;
第三步:将新的表名字改成原有的旧表的名字
alter table stu1 rename to stu;
.databases 列出当前打开的数据库时,分别对应:序号,数据库名字,打开数据库的路径