sqlite3 select查询一列_一眼就会的sqlite3数据库
一、SQLite数据库简介
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。
二、SQLite数据库安装
目前,几乎所有版本的 Linux 操作系统都附带 SQLite。所以,只要使用下面的命令来检查您的机器上是否已经安装了 SQLite。
如果没安装在Ubuntu下输入如下命令:sudo apt-get install sqlite3三、SQLite数据库使用
1-- 安装数据库:
sudo apt-get install sqlite32-- 创建数据库
sqlite3 stu.db3-- sqlite命令
系统命令 以 "."开头普通命令 ,以";"结束 .schema 查看表的结构.quit 退出数据库.exit 退出数据库.help 查看帮助信息.databases 查看数据库.tables 显示数据库中所有的表的表名4-- sqlite3 的使用
1-- 创建一张表
create table 表名(字段名称1 字段类型,字段名称2 字段类型, ....);
create table stu(id int, name char, sex char , score int);2-- 向表中插入一条记录
insert into 表名 values (字段值1,字段值2,...);
insert into stu values(1001, 'zhangsan', 'm', 89);insert into stu (id, name, sex,score) values(1002, 'lisi', 'm', 99);3-- 查询记录
select * from stu; // 查找所有的记录select * from stu where id=1001; // 查找符号条件的记录select * from stu where id=1001 and name='zhangsan'; // 字符串需要加引号select * from stu where name = 'zhangsan' or score=92;4-- 删除记录
delete from stu where id=1004;5-- 更新记录
update stu set score=98 where id=1003;6-- 删除一张表
drop table stu;7-- 添加一列
alter table stu add column score int;8-- 删除一列
sqlite3 不允许直接删除一列
1)先创建一张新表
create table stu1 as select id , name from stu;2)删除原来的旧表
drop table stu;3)对新表重命名
alter table stu1 rename to stu;9-- 数据库主键(既设置的数据将会是唯一存在的)
create table usr(name text primary key , passwd text);5-- sqlite3 API 函数接口
(1)int sqlite3_open( const char *filename, /* Database filename (UTF-8) */sqlite3 **ppDb /* OUT: SQLite db handle */);功能:打开一个数据库参数:filename 数据库名字ppdb 操作数据库的指针,句柄。返回值:成功 SQLITE_OK , 失败 error_code(2)const char *sqlite3_errmsg(sqlite3* db);功能:获取错误信息描述(3)int sqlite3_close(sqlite3* db);功能:关闭一个数据库(4)int sqlite3_exec(sqlite3* db, /* An open database */const char *sql, /* SQL to be evaluated */int (*callback)(void*,int,char**,char**), /* Callback function */void * arg, /* 1st argument to callback */char **errmsg /* Error msg written here */);功能:执行一条sql语句参数:db 数据库的句柄指针sql 将要被执行sql语句callback 回调函数, 只有在查询语句时,才给回调函数传参arg 为callback 传参的errmsg 错误信息的地址返回值:成功 SQLITE_OK出错 errcode 错误码***********************************************************int (*callback)(void* arg ,int ncolumn ,char** f_value,char** f_name)功能:得到查询结果参数:arg 为回调函数传递参数使用的ncolumn 记录中包含的字段的数目f_value 包含每个字段值的指针数组f_name 包含每个字段名称的指针数组返回值:成功 0,出错 非0*********************************************************(5)int sqlite3_get_table(sqlite3 *db, /* An open database */const char *zSql, /* SQL to be evaluated */char ***pazResult, /* Results of the query */int *pnRow, /* Number of result rows written here */int *pnColumn, /* Number of result columns written here */char **pzErrmsg /* Error msg written here */);功能:查询数据库,它会创建一个新的内存区域来存放查询的结果信息参数:db 数据库操作句柄sql 数据库的sql语句azResult 查询的结果nRow 行数nColumn 列数errmsg 错误消息返回值:成功 0出错 errcodenrow的值为查询到的符合条件的记录数(不包括字段名)。ncolumn的值为查询到的符合条件的字段数。注意:nrow的值不包括字段名,如果打印时用for (i = 0; i < nrow; i++)会打印出字段名,但是会少打印出一条符合条件的记录。因此打印时要用 for (i = 0; i <nrow + 1; i++);将包括字段名在内的数据都打印出来。(6)void sqlite3_free_table(char **result);功能:释放内存备注:
于作者水平,难免有理解和描述上有疏漏或者错误的地方,欢迎共同交流;部分参考已经在正文和参考文献中列表注明,但仍有可能有疏漏的地方,有任何侵权或者不明确的地方,欢迎指出,必定及时更正或者删除;文章供于学习交流,转载注明出处。
总结
以上是生活随笔为你收集整理的sqlite3 select查询一列_一眼就会的sqlite3数据库的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 机器学习如何计算特征的重要性_干货 :机
- 下一篇: db2 如何导出insert语句_MyS