sqlite3 select查询一列_一眼就会的sqlite3数据库
一、SQLite数据库简介
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。
二、SQLite数据库安装
目前,几乎所有版本的 Linux 操作系统都附带 SQLite。所以,只要使用下面的命令来检查您的机器上是否已经安装了 SQLite。
如果没安装在Ubuntu下输入如下命令:sudo apt-get install sqlite3
三、SQLite数据库使用
1-- 安装数据库:
sudo apt-get install sqlite3
2-- 创建数据库
sqlite3 stu.db
3-- 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数据库相关推荐
- sqlite3 select查询一列_Python成为专业人士笔记–Sqlite3 模块
"专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com Sqlite3 -一个不需要独立服务器进程的 ...
- 双表查询java代码_什么是JDBC?Java数据库连接性简介
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...
- oracle 前导列_通过 PL/SQL Developer (Oracle)-数据库(26)
本篇文章介绍了跟SQL语句性能提升有关的执行计划,工作时间长了,或者说高手的进阶途径之一,就是如何能够在数据量很大的情况下,数据库的查询效率还能保持良好的性能. 感兴趣的朋友,可以收藏这篇文章哦,未来 ...
- python sql查询返回记录_干货!Python与MySQL数据库的交互实战
安装PyMySQL库 如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip install pymysql:假如这种方式还是安装不上,就用 ...
- mysql 的新建查询怎么弄_在Navicat中如何新建数据库和表并做查询
上一篇文章,小编给大家分享了在Navicat中如何远程连接数据库,没有来得及上车的小伙伴可以戳这篇文章:在Ubuntu14.04中配置mysql远程连接教程.今天小编给大家分享一下如何在Navicat ...
- mysql查询名字中第2个字为丽,数据库技术课程复习5---MySQL语言(2)(单表查询)
0.学习前言 单表查询理解起来是比较简单的,关键要注意格式化指令的使用方法,一起加油鸭! 1.语句格式 语句格式 SELECT [ALL|DISTINCT] [,] - FROM [, ] - [ W ...
- mysql超长sql查询_超长SQL怎么查询?MySQL列长度限制有哪些 | 学步园
MySQL字符串的限制长度看似重要性不要,其实和整个MySQL数据库的安全性是息息相关的,很值得我们去深入研究分析.SQL注入攻击一直都在被广泛的讨论,然而人们却忽略了今天我将要介绍的这两个安全隐患, ...
- 查询时拼接两列数据_如何用VBA代码查询两列数据差异?
爱就一个字,我只说一次-- 北京市第三交通委提醒您:代码千万条,注释第一条,命名不规范,修订两行泪-- 咳,给大家拜晚年了,再提前祝大家元宵快乐-- 我们今天和大家分享的内容是如何用VBA代码查询两列 ...
- mysql 去除重复 Select中DISTINCT关键字的用法(查询两列,只去掉重复的一列)
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...
最新文章
- arcpy 批量投影_使用ArcPy对栅格数据进行批量投影坐标转换
- 【ES6】Proxy对象
- 如何选择高性价比的控件产品
- Channel的几种状态
- 心中有“树”:数据结构之树详解
- Android 博客园客户端 (八) 下拉刷新、分页,AsyncTask
- go调用ethereum_Go语言爱好者周刊:第 76 期 — 新年计划做了吗?
- JavaScript学习杂记--对象和数组
- 【C/C++开发】C++库大全
- 替换Oracle,从阿里巴巴到亚马逊-他们在逃离什么?
- OLE-只读性质的EXCEL
- 翻译的艺术 —— 名著的翻译
- 【学习Spring框架】依赖注入和控制反转异同?
- 复数(Complex Number)
- 《必然》二、奔跑吧,所有人都是菜鸡
- 谱密度 matlab,功率谱密度估计方法的matlab实现.doc
- 学习超市管理系统的搭建与实现
- python:求出歌手的得分
- 计算机类ei期刊,【2017年整理】电子类通信类和计算机类EI期刊(大部分免费).docx...
- 蓝精灵事件来袭: 深受喜爱的蓝色角色来 Web3 啦!
热门文章
- WebRTCon 2018 Day Two精彩回顾
- 数据上报痛点解决方案
- Golang 单元测试详尽指引
- 微信扫一扫识物的技术揭秘:抠图与检索
- nginx学习十 ngx_cycle_t 、ngx_connection_t 和ngx_listening_t
- SSH原理与运用(一):远程登录
- 实现lua面向对象的private属性
- 每日两SQL(6),欢迎交流~
- leetcode 994. Rotting Oranges | 994. 腐烂的橘子(BFS)
- 【Python】忘记登录密码?遍历数字字母组合密码+模拟提交表单