sqlite3存取数组时可以定义类型为 text
SQLite数据库特点:
1.零配置,无需安装和管理配置;
2.储存在单一磁盘文件中的一个完整的数据库;
3.数据库文件可以在不同字节顺序的机器间自由共享;
4.支持数据库大小至2TB;
5.足够小,全部源代码大致3万行c代码,250KB;
6.比以前流行的大多数数据库对数据的操作要快;
数据库操作:
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
功能:打开或者创建一个数据库
参数:filename 数据库的名字
ppdb 数据库的句柄
返回值:成功 SQLITE_OK ,出错 error_code
无论是否成功打开数据库都应该用SQlite3_close()关闭
关闭数据库:int sqlite3_close(sqlite3 *db);
返回值: 成功返回0,失败返回错误码
const char *sqlite3_errmsg(sqlite3 *db);
返回值: 返回错误信息
int sqlite3_exec(
sqlite3* db, /* An open database */
const char *sql, /* SQL to be evaluated */
int (*callback)(void* arg,int,char**,char**), /* Callback function */
void * arg, /* 1st argument to callback */
char **errmsg /* Error msg written here */
);
功能:执行一条sql语句
参数:db 数据库操作句柄指针
sql 将要被执行的sql语句
callback 回调函数, 得到查询数据库记录结果(只有在查询时,才为此参数进行传参)
arg 它是为回调函数传参,回调的第一个参数
errmsg 错误信息
返回值:成功 SQLITE_OK , 出错 error_code
手工建操作据库:
linux@ubuntu: sqlite3 my.db
查看帮助:sqlite> .help
文件存放位置:sqlite> .database
退出:sqlite> .quit
查看表:sqlite> .tables
显示表的结构:sqlite> .schema
1.建表:sqlite> create table usr(id integer primary key, name text,age integer null, gender text, salary real not null);
2.删除表:sqlite> drop table usr;
3.增:sqlite> insert into usr(id, name, age, salary) values(2, 'liu', 20, 6000);
4.删:sqlite> delete from usr where id = 2;
5.改:sqlite> update usr set gender = 'man' where id = 3;
6.查:sqlite> select * from usr where id = 2;
7.在表中添加字段:sqlite>alter table usr add column country text;
程序的编译方法:gcc -o test test.c -lsqlite3