数据库:
数据存储:
变量、数组、链表-------------》内存 :程序运行结束、掉电数据丢失
文件 : 外存:程序运行结束、掉电数据不丢失
数据库: 外存:程序运行结束、掉电数据不丢失;专业的管理数据
sqlite3:sqlite3 xxx.db
- sqlite的命令
.help 查询手册
.tables 查看数据库中的表
.headers on/off 打开/关闭表头
.mode column 设置左对齐
.quit 退出数据库
- sqlite支持的SQL(结构化序列语言)语言
数据类型:
INTEGER : 整形
REAL:浮点型
TEXT:文本字符串类型
NULL :空
- 创建一张表
create table 表名(列名1 数据类型, 列名2 数据类型, ....);
- 插入表格
insert into 表名 values(值1, 值2, 值3, ...);
- 查询数据库中的表
查询表中的所有数据:
select * from 表名;
查找指定列:
select 列名1,列名2 from 表名;
条件查找:
select * from 表名 where 列名 关系运算符 值;
关系运算符:
=
>
<
!=
>=
<=
or (||)
and (&&)
模糊查找:
select * from 表名 where 列名 like "%梅";
% : 可以匹配多个字符
_ : 只能匹配一个字符
有序查找:
升序查找:
select * from 表名 order by 列名 ASC;
降序查找:
select * from 表名 order by 列名 DESC;
- 删除数据
delete from 表名 where 条件;
- 修改数据
update 表名 set 列名=新值,列名=新值 where 条件;
- 删除表
drop table 表名;
7.获取时间
8.主键
sqlite> create table class(num integer primary key autoincrement);
- sqlite提供的C--- API接口
|-----------------------------------------------------------|
| int sqlite3_open(const char *fliename,sqlite3 **ppDb); |
| 功能:打开一个数据库文件 |
| 参数: filename:文件名 ppDb:数据库句柄的地址 |
| 返回值: 成功:SQLITE_OK 失败:错误码 ||----------------------------------------------|
| const char *sqlite3_errmsg(sqliite3 *pdb); |
| 功能:打印一个出错的错误信息 |
| 参数: pdb:数据库句柄 |
| 返回值:错误码字符串 ||-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| int *sqlite3_exec(sqliite3 *pdb,const chat *sql,int(*callback)(void *,int,char **,char **),void *,char **errmsg); |
| 功能:执行sql语句 |
| 参数: pdb:被执行的数据库 sql:要执行的sql语句 callback:回调函数(函数的指针) |---------------------------------------------------------------------------------------------------| | int (*callback)(void* arg,int colum_n,char **column_value,char **column_name); | | 当使用select查询数据时,误触回调函数执行 | | 参数: arg:sqlite3_exrc传递的第四个参数 column_n:查询到的数据的列数 column_value:保存找到的每一列的元素的值 column_name:每一列的元素的名称。 | | 注意: 回调函数一定要有一个返回值 有几条数据回调函数被触发几次 | arg:参数 errmsg:保存错误信息 |
| 返回值: 成功:SQLITE_OK 失败:错误码 |
二级指针应用场景:
1.在被调函数中修改主调函数中的指针变量
2.指针数组的数组名作为参数传递时,本质是二级指针。
二、HTML
1.WEB服务器
并发服务器模型
HTTP模型
HTML