文档章节

sqliste3基础语法

519617
 519617
发布于 2016/06/30 16:31
字数 937
阅读 6
收藏 0

sqlite3支持的数据类型:

NULL、INTEGER、REAL、TEXT、BLOB
但是,sqlite3也支持如下的数据类型
smallint           16位整数
integer             32位整数
decimal(p,s)   p是精确值,s是小数位数
float                  32位实数
double             64位实数
char(n)             n长度字符串,不能超过254
varchar(n)        长度不固定最大字符串长度为n,n不超过4000
graphic(n)        和 char(n) 一样,但是单位是两个字符double-bytes,n不超过127(中文字)
vargraphic(n)  可变长度且最大长度为n

date                  包含了年份、月份、日期
time                  包含了小时、分钟、秒
timestamp       包含了年、月、日、时、分、秒、千分之一秒

sqlite3支持的函数

【1】日期函数

datetime() : 产生日期和时间
date(): 产生日期
time():产生时间
strftime():对以上3个函数产生的日期和时间进行格式化

用法实例:
1、SELECT date('2011-9-9','+1 day','+1 year'); 结果是 2010-09-10
2、SELECT datetime('now'); 当前日期和时间
3、SELECT datetime('now', 'start of month'); 本月的第一天零点,也可以设置年和日的第一天
4、SELECT datetime('now','+1 hour','-12 minute'); 当前时间加48分钟

strftime()函数可以将YYYY-MM-DD HH:MM:SS格式的日期字符串转换为其它形式的字符串

%d:天数,01-31
%f :小数形式的秒,SS.SSS
%H:小时
%j  :某一天是该年的第几天,001-366
%m:月份,00-12
%M:分钟,00-59
%s:从1970到现在的秒数
%S:秒,00-59
%w:星期,0-6,0是星期天
%W:某天是该年的第几周,01-53
%Y:年,YYYY
%% 百分号

应用举例:
SELECT strftime('%Y.%m.%d %H:%M:%S','now','localtime');


二、【算术函数】

abs(X):返回绝对值
max(X,Y[,...]):返回最大值
min(X,Y,[,...]):返回最小值
random(*):返回随机数
round(X[,Y]): 四舍五入

三、【字符串处理函数】

length(x) :返回字符串字符个数
lower(x) :大写转小写
upper(x):小写转大写
substr(x,y,Z):截取子串
like(A,B):确定给定的字符串与指定的模式是否匹配

四、【条件判断函数、集合函数、其它函数】

typeof(x):返回数据的类型
last_insert_rowid():返回最后插入的数据的ID


********************************************************************************************************************

sqlite3提供了C函数接口来操作sqlite3数据库,其中有个关键数据结构 sqlite3 * 类型

1、打开数据库
int sqlite3_open(文件名,sqlite3 **);  - 文件名若不存在,则会自动创建
返回SQLITE_OK表示操作正常,这些宏的定义在sqlite3.h文件中定义,看源代码会懂的更多

2、关闭数据库
int sqlite3_close(sqlite3 *);

3、SQL语句操作
int sqlite3_exec(sqlite3 *,const char *sql, sqlite3_callback,void *,char **errmsg);
这就是执行一条sql语句的函数
参数1:open函数得到的指针
参数2:一条sql语句,以'\0'结尾
参数3:sqlite3_callback是回调,当这条语句执行后,sqlite3会调用你提供的这个函数,回调函数要查阅资料
参数4:void *是自己提供的指针,可以传递任何指针到这里,这个参数最终会传到回调函数里面,如果不需要
传到回调函数里面,则可以设置为NULL
参数5:错误信息,当执行失败时,可以查阅这个指针,可以利用printf("%s\n",errmsg)得到一串字符串信息,
该信息表明出错的地方

通常,sqlite3_callback和void *都设置为NULL,表示不需要回调,比如做insert、delete操作,就没有必要使用回调,而当使用select时,就要使用回调,因为sqlite3把数据查出来,得通过回调来说明查出什么数据


*************************************by 20151123
table add column:
ALTER TABLE Subscription ADD COLUMN Activation BLOB;

© 著作权归作者所有

共有 人打赏支持
上一篇: maven install 报错
下一篇: SQLite安装
519617
粉丝 1
博文 51
码字总数 33472
作品 0
东城
私信 提问
React Native \ WEEX 开发文档汇总

React-Native 开发基础文档 环境构建 参照官方提供文档的指引 集成到现有应用 基本语法 入门基础 组件及api JsX语法基础 React-Native生命周期 ES6基础 promise async/await 状态管理 Redux状...

V1admirMakarov
01/11
0
0
怎么理解gradle的这句话和其中一个语法

最近在开始看gradle的知识。看到这样一句话"Gradle 是以 Groovy 语言为基础,基于DSL(领域特定语言)语法的自动化构建工具"。 不太理解这句话,我的质疑是:既然gradle以groovy语言为基础,...

蚂蚁的世界
2015/11/06
317
2
ruby基础语法

首发:个人博客,更新&纠错&回复 学不同语言,常将它们的基础语法搞混,例如if后面有没有(),后面是then还是:还是{,结尾是end还是}…… 这种事情毫无技术含量又毫无乐趣可言,但极大地影响流...

祁达方
2015/12/11
12
0
Dockerfile 简版大全,附赠编写实例

Docker 逗你玩儿 - Git@OSC 联合灵雀云的 Docker 镜像征集活动,更有奖品赠送点击查看详情。 基础镜像可以用于创建Docker容器。镜像可以非常基础,仅仅包含操作系统;也可以非常丰富,包含灵...

oschina
2015/07/20
6.8K
11
C语言C++新手入门基础学习书籍资料推荐

接下来会陆续介绍各自编程语言和各个领域的学习建议,本文先讲C语言。 1、C语言适合当第一门编程语言学习 、C语言语法相对简单,但又比较完整和严谨,包含该有的各种元素。学完C语言语法,要...

小辰带你看世界
2017/12/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache用户认证,域名跳转

11月15日任务 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.18 Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑......

zgxlinux
35分钟前
1
0
idea 添加 VUE 的语法支持和开发

《一》VUE的开发分两种,一种是直接在HTML文件中使用,一种是VUE文件的形式开发 1,首先我们先让 HTML 文件支持 VUE 的语法指令提示 2,File -> Setting -> Edit -> Inspections -> html 3,...

文文1
53分钟前
1
0
【NLP】【七】fasttext源码解析

【一】关于fasttext fasttext是Facebook开源的一个工具包,用于词向量训练和文本分类。该工具包使用C++11编写,全部使用C++11 STL(这里主要是thread库),不依赖任何第三方库。具体使用方法...

muqiusangyang
58分钟前
3
0
防止Tweak

什么是tweak? 英文意思为捏, 拧,扭,稍稍调整(机器、系统等)。 依据维基百科的定义,tweak指的是对电子系统进行轻微调整来增强其功能的工具;在ios中tweak特指那些能够增强其它可执行程...

HeroHY
今天
3
0
linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部