一、數據庫
數據庫文件與普通文件區別:
普通文件對數據管理(增刪改查)效率低2.數據庫對數據管理效率高,使用方便
常用數據庫:
1.關系型數據庫:
將復雜的數據結構簡化為二維表格形式
大型:0racle、DB2
中型:MySq1、sQLServer
小型:Sqlite
2.非關系型數據庫以鍵值對存儲,且結構不固定。//JSON
Redis
MongoDB
嵌入式數據庫:
sqlite3:
stu.db
1.開源免費,c語言開發
2.代碼量少,1萬行左右,總大小10M以內
3.文件型數據庫,可以移動
4.數據容量最大2T
數據庫:
數據存儲:
變量、數組、鏈表-------------》內存 :程序運行結束、掉電數據丟失
文件 : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?外存:程序運行結束、掉電數據不丟失
數據庫: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 外存:程序運行結束、掉電數據不丟失;專業的管理數據
sqlite3:
SQLite 教程 | 菜鳥教程
sqlite3 xxx.db
1. ?sqlite的命令
? ? ?.help ? 查詢手冊
? ? ?.tables ? 查看數據庫中的表
? ? ?.headers on/off ?打開/關閉表頭
? ? ?.mode column ? 設置左對齊
? ? ?.quit ? ? ? ? ? 退出數據庫
2. ?sqlite支持的SQL(結構化序列語言)語言
? ? ? 數據類型:
? ? ? INTEGER : 整形
? ? ? REAL:浮點型
? ? ? TEXT:文本字符串類型
? ? ? NULL :空
? ? ?1. 創建一張表
? ? ? ? create table 表名(列名1 數據類型, 列名2 ?數據類型, ....);
? ? 2. 插入表格
? ? ? ? insert into 表名 values(值1, 值2, 值3, ...);
? ? 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;
? ? 4. 刪除數據
? ? ? ? ?delete from 表名 where 條件;
? ? ??
? ? 5. 修改數據
? ? ? ? update 表名 set 列名=新值,列名=新值 where 條件;
? ? ? ?
? ? 6. ?刪除表
? ? ? ? drop table 表名;
3. 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
失敗:錯誤碼
二、HTML
1.WEB服務器
? ? ? ? 并發服務器模型
? ? ? ? HTTP模型
? ? ? ? HTML
HTML 教程 | 菜鳥教程