-
常用数据库:
-
数据库文件与普通文件区别:
-
1.普通文件对数据管理(增删改查)效率低
-
2.数据库对数据管理效率高,使用方便
-
-
1.关系型数据库
-
将复杂的数据结构简化为二维表格形式 大型:Oracle、DB2 中型:MySql、SQLServer 小型:Sqlite
-
-
2.非关系型数据库
-
以键值对存储,且结构不固定 //JSON Redis MongoDB
-
-
嵌入式数据库:
-
sqlite3: stu.db 1.开源免费, c语言开发
-
2.代码量少,1万行左右,总大小10M以内
-
3.文件型数据库,可以移动
-
4.数据容量最大2T
-
sqlite3的安装
-
在线安装:sudo apt-get install sqlite3 sudo apt-get install libsqlite3-dev
-
源码安装:
-
1.sqlite-autoconf-3080403源代码.tar.gz拷贝到Ubuntu系统Desktop目录中
-
2.tar -zxvf sqlite-autoconf-3080403源代码.tar.gz
-
3.cd sqlite-autoconf-3080403
-
4../configure // 生成makefile
-
5.make // 编译源码
-
6.sudo make install // 安装
-
-
sqlite3 操作指令
-
1) 命令
-
.help 查看相关手册
-
.databases 查看当前数据库所在的路径和名称
-
.tables 查看当前数据库中的表
-
.schema 查看创建表的结构
-
.mode column 列设置位左对齐
-
.width 列宽1 列宽2 列宽3 设置各列的宽度
-
2)sqlite3相关sql语句
-
增删改查
-
create table 表名(列名1 数据类型,列名2 数据类型,列名3 数据类型);
-
create table class1(id integer, name text, age integer, score real);
-
insert into 表名 values(值1, 值2, 值3);
-
insert into class1 values(1, "张三", 17, 89.5);
-
select 列名 from 表名; select 列名1,列名2 from 表名;
-
select * from 表名;
-
select * from 表名 order by 列名 ASC; //升序排序
-
select * from 表名 order by 列名 DESC; //降序排序
-
条件查找: select * from 表名 where 列名 运算符 值;
-
select * from class1 where score>=90;
-
模糊查找: select * from 表名 where 列名 like "值%";
-
模糊查找和"值****"匹配的行
-
% 可以模糊匹配多个字符 _只能模糊匹配一个字符
-
select * from 表名 where 列名 like "值_";
-
删除 delete from 表名 where 条件;
-
delete from class1 where score>90;
-
更改 update 表名 set 列名=新值 where 列名=值;
-
update class1 set score= 99 where name="张三";
-
datetime("now", "+8 hours");
-
insert into class2 values(1, "zhangsan", 68, datetime("now", "+8 hours"));
-
自动增长列
-
主键值 INTEGER create table 表名(id INTEGER PRIMARY KEY AUTOINCREMENT, XXXXX); 删除表 drop table 表名;
-
-
sqlite3相关c函数接口
-
int sqlite3_open( const char *filename, /* Database filename(UTF-8) */ sqlite3 **ppDb ); /* OUT: SQLite db handle */
-
功能:打开一个数据库,如果不存在则创建
-
-
int sqlite3_exec( sqlite3*pdb, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void * arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ );
-
功能:用来执行sql语句
-
-
sqlite3_errmsg const char *sqlite3_errmsg(sqlite3*); 功能:获得出错原因
-
sqlite3_close int sqlite3_close(sqlite3*); 功能:关闭数据库句柄,释放空间
-
sqlite3_free void sqlite3_free(void*); 功能:释放保存出错信息的空间
-
-
数据库维护命令:
-
安装可视化工具 sudo apt-get install sqlitebrowser sqlitebrowser xxx.db NavicatSqlite3 Windows下图形操作接口
-
-
-