苏嵌33 17.01.18
来源:互联网 发布:shell编程如何保存 编辑:程序博客网 时间:2024/05/23 21:22
文件----------存储数据(缺点)
无格式的存取
数据库文件:特殊的文件
数据库:有结构的,集成的,可共享的统一管理的数据结构
★关系型数据库模型RDBMS(二维表格)
元组:一行
属性:一列(字段)
主键列:某一列唯一标识一行
嵌入式数据库基本要求:体积适当 可移植性好 编程接口简单 代码开源
每个SQL语句以;结束 不区分大小写
常量:integer 整型 text字符串(char 32/char 16)bool真假 real实型(带小数点)
数据库操作:
1、touch student.db 创建数据库
2、sqlite3 student.db 进入数据库
3、create table student(id integer primary key,name text,age integer); 创建表名
主键列可自动生长
4、.schema 看当前数据库下有哪些表
5、drop table student2; 删除表
6、alter table student1 rename to student2; 重命名
7、alter table student add column sex text; 增加一列
8、insert into student(id,name,age,sex) values(1,'zhangsan',12,'f'); 增加
9、select * from student; 查找
10、update student set name = 'lisi' where name = 'zhangsan2'; 修改
11、delete from student where name = 'zhangsan'; 删除
12、.exit 退出
数据库编写: gcc sqlite3_demo.c -lsqlite3
#include <sqlite3.h>
sqlite3 *db;
int sqlite3_open(argv[1],&db); 打开 成功返回SQLITE_OK
sqlite3_close(db); 关闭
sqlite3_exec(sqlite3 *pDB,const char *sql,NULL,NULL,char **errmsg)
sqlite_callback callback 回调函数 不是查询则为空
void *para 不是查询语句则为空
char *errmsg;
sqlite3_exec(db,"create table student(id integer primary key,name text,age integer)",NULL,NULL,&errmsg); 创建表名
增加:
char sql[1024];
sprintf(sql,"insert into student(id,name,age) values(%d,'%s',%d)",id,name,age);
sqlite3_exec(db,sql,NULL,NULL,&errmsg);
查找:
int handle_result(void *para,int column_count,char **column_value,char **column_name)
{
printf("para = %s\n",(char *)para);
printf("column count = %d\n",column_count);
int i;
for(i = 0; i < column_count; i++)
{
printf("%s:%s ",column_name[i],column_value[i]);
}
printf("\n");
return 0;
}
sqlite3_exec(db,"select * from student",handle_result,"hello world",&errmsg);
- 苏嵌33 17.01.18
- 苏嵌32 17.01.17
- 苏嵌31 16.12.18
- 2013-03-18 0%-%33-0%-33%
- algorithm 题集七 (17.01.30)
- 2011-9-17 18:21:33
- 2011-9-19 18:33:09
- 有关filter 2010-8-18 14:33
- 苏嵌11月18~11月19课堂笔记关于运算符,数据类型,控制语句,数组,函数等等
- 2012年11月24日 18:22:33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- poj_3411 Paid Roads(dfs技巧)
- IOC前世今生
- PAT. basic level. 1002
- 如何使用Alfred提升操作效率(上)
- [机房考试] 图论
- 苏嵌33 17.01.18
- LINUX ECHO 颜色
- 嵌入式数据结构
- 【POJ 2236 Wireless Network】 + 并查集
- 图像拼接(四):双摄像头实时视频拼接(平移模型)
- LightningChart Ultimate v.7.2 版本功能特性对比
- 超级父类:Object类
- python快速入门(一)
- 2017/1/18