sqlite3数据库操作接口详细整理,以及常用的数据库语句
头文件: #include <sqlite3.h> 编译时候要加上-lsqlite3 gcc a.c -lsqlite3
1)sqlite3_open 打开一个数据库,如果数据库不存在,则创建一个数据库
2)sqlite3_close 关闭数据库,断开句柄所拥有的资源
3)sqlite3_errmsg 通过出错的句柄返回错误信息
4)sqlite3_errcode 通过错误句柄返回错误码
5)sqlite3_exec 调用该函数,执行sql语句
6)回调函数callback 处理sqlite3_exec执行sql语句后的结果集,每有一条记录,就会执行一次callback函数
7)sqlite3_get_table 通过执行sql语句,得到结果集中的内容
8)sqltie3_free_table 释放表的空间
1)创建表
create table 表名 (字段名 数据类型, 字段名 数据类型);
create table if not exists 表名 (字段名 数据类型, 字段名 数据类型);
2)删除表
drop table 表名;
3)插入
1) 全字段插入 insert into 表名 values (数据1, 数据2, 数据3);
2) 部分字段插入 insert into 表名 (字段名1, 字段名2) values (数据1, 数据2);
4)查看
1) 查看所有记录 select * from 表名;
2) 查看某几行 select * from 表名 where 限制条件;
逻辑与 and 逻辑或 or
3)查看某几列
1、 select 字段1, 字段2 from 表名;
2、select 字段1, 字段2 from 表名 where 限制条件;
5)修改
update 表名 set 字段=数值 where 限制条件;
6)删除
delete from 表名 where 限制条件;
7)主键
primary key 主键;
create table 表名(字段名 数据类型 primary key, 字段名 数据类型); primary key主键:唯一标识表格中的每一条记录;
8)拷贝
从a中拷贝所有数据到b中: create table b as select * from a;
从a中拷贝指定字段到b中: create table b as select 字段,字段,字段 from a;
9)增加列
alter table 表名 add column 字段名 数据类型;
10)修改表名
alter table 旧表名 rename to 新表名;
11)修改字段名(列名)
不支持直接修改列名
1.将表重新命名(a改成b)
alter table stuinfo rename to stu;
2.新建修改名字后的表(新建一个a)
create table stuinfo (name char, age1 int, sex char, score int);
3.从旧表b中取出数据,插入到新表a中; insert into stuinfo select * from stu;
12)删除列
不支持直接删除列;
1.创建一个新表b,并复制旧表a需要保留的字段信息;
create table stu as select name, age1, sex from stuinfo;
2.删除旧表a;
drop table stuinfo;
3.修改新表b的名字a;
alter table stu rename to stuinfo;