【sqlite】——使用记录
【sqlite】——使用记录
一、linux下sqlite3安装方法:
1. tar -xvzf sqlite3.....tar.gz
2. cd sqlite3..
3. ./configure -disable-tcl --prefix=/usr/local/sqlite3
4.make;make install
二、基本的增删改查操作
插入:insert into <表名> values(.....) //表中数据
建表:create table <表名>(.....) //表中所含数据及其类型
查询:select * from <表名>
C中的回调法:sqlite3_exec(db, sql, select_callback, db, &zErrMsg);
int select_callback(void *Notused, int argc, char *argv, char **azColName)
回调函数在sqlite3_exec中调用后,argc保存查询到的数据条数,argv保存了数据值,azColName保存了每项数据的名字;第二个db传给回调函数的第一个参数,未使用;
C中的非回调法:sqlite3_get_table(db, sql, &azResult, &nrow, &ncolumn, &zErrMsg)
for(i=0; i < (nrow+1)*ncolumn; i++)
printf("value[%d]=%s\n", i, azResult[i]);
在azResult中保存的是select的结果,nrow保存的是取出数据的行数,ncolumn保存的是取出数据的列数。
修改:update <表名> set <列名>="新值" where 条件 //如果没有设置条件,这一列都会被更新
删除:delete from <表名> where <条件> //如果不设定条件,则删除所用记录
修改表:sqlite的alter table命令只允许用户重命名或添加新的字段到已有的表中,不能从表中删除字段,并且只能在 表的末尾添加栏目;
修改表名:alter table <旧表名> rename to<新表名>
添加一列:alter table <表名> add column <列名> <数据类型> [限定符]
删除表:drop table <表名>
三、sqlite3命令行常用命令
进入到sqlite3命令行模式,用"."+"关键字"执行命令
.tables——列出当前数据库中所含表
.schema <表名>——显示建表时执行的操作
.headers on——让输出时显示表头信息
.database——显示数据库信息
.mode []——设置显示方式:csv、column、html、insert、line、list、tabs、tcl,如.model csv
四、从excel中导入数据
1.在test.db中建表:create table bookroom(id integer, roomname nvarchar(20), mapfilename nvarchar(20));
2.新建exc,生成csv格式的数据,和上表格式一致,如下:
30001, 数学, 3楼1号
30002, 语文, 2楼18号
将excel另存为csv格式:bookroom.csv
3.导入数据:
①打开数据库,进入sqlite3命令行模式,sqlite3 test.db
②.separator ‘,’
③.import bookroom.csv bookroom
或者:
#sqlite3 test.db ".import bookroom.csv bookroom"
4.导出数据库中的数据到txt文件
#sqlite3 -header test.db "select *from bookroom;">license.txt