`
qingshou117
  • 浏览: 47860 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

sqlite客户端安装以及一些类型和函数

阅读更多
SQLite 的最新版本可以从http://www.sqlite.org/download.html下载 。下面我们以Windows版本sqlite-3_7_3.zip为例介绍其安装方法。
(大家可以选择下载安装适合自己的版本)
下载后,将sqlite-3_7_3.zip解压缩至C:\sqlite目录即完成安装。
C:\sqlite目录构造为:

C:\sqlite
  |
  +--sqlite3.exe
在path中增加目录C:\sqlite;(如果用powercmd已打开一个窗口,设置path后要重新打开path才会更新)
如果rails用的数据库是sqlite3
只要到程序目录执行rails dbconsole即可对程序里的数据库进行操作
=====================================
Sqlite3支持的数据类型
NULL
INTEGER
REAL
TEXT
BLOB
但实际上,sqlite3也接受如下的数据类型:
smallint 16 位元的整数。
interger 32 位元的整数。
decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点后有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
float 32位元的实数。
double 64位元的实数。
char(n) n 长度的字串,n不能超过 254。
varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000
date 包含了 年份、月份、日期。
time 包含了 小时、分钟、秒。
timestamp 包含了 年、月、日、时、分、秒、千分之一秒。




SQLite包含了如下时间/日期函数:
datetime().......................产生日期和时间
date()...........................产生日期
time()...........................产生时间
strftime().......................对以上三个函数产生的日期和时间进行格式化

datetime()的用法是:datetime(日期/时间,修正符,修正符...)
date()和time()的语法与datetime()相同。

在时间/日期函数里可以使用如下格式的字符串作为参数:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
其中now是产生现在的时间。

举例

例1.
sqlite> select datetime('now');
2010-10-23 07:10:19

sqlite> select datetime('now','localtime');
2010-10-23 15:10:19
--执行语句的时间是北京时间2010-10-23 15:10:19,可见datetime没有返回正确的时间,datetime('now','localtime')才能返回当地时间

例2.
sqlite> select datetime('2010-10-23');
2010-10-23 00:00:00


例3.
select datetime('2010-10-23 00:20:00','+1 hour','-12 minute');
2010-10-23 01:08:00

例4.
select date('2010-10-23','+1 day','+1 year');
2011-10-24

例5.
sqlite> select datetime('now','start of year');
2010-01-01 00:00:00

例6.
sqlite> select datetime('now','start of month');
2010-10-01 00:00:00

例7.
sqlite> select datetime('now','start of day');
2010-10-23 00:00:00

例8.
sqlite> select datetime('now','+10 hour','start of day','+10 hour');
2010-10-23 10:00:00

例9.
sqlite> select datetime('now','localtime');
2010-10-23 15:22:02

例10.
sqlite> select datetime('now','+8 hour');
2010-10-23 15:22:15

例3中的+1 hour和-12 minute表示可以在基本时间上(datetime函数的第一个参数)增加或减少一定时间。

例5中的start of year表示一年开始的时间。

从例8可以看出,尽管第2个参数加上了10个小时,但是却被第3个参数“start of day”把时间归零到00:00:00,随后的第4个参数在00:00:00
的基础上把时间增加了10个小时变成了10:00:00。

例9把格林威治时区转换成本地时区。

例10把格林威治时区转换成东八区。

strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。
strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, ...)

它可以用以下的符号对日期和时间进行格式化:
%d 月份, 01-31
%f 小数形式的秒,SS.SSS
%H 小时, 00-23
%j 算出某一天是该年的第几天,001-366
%m 月份,00-12
%M 分钟, 00-59
%s 从1970年1月1日到现在的秒数
%S 秒, 00-59
%w 星期, 0-6 (0是星期天)
%W 算出某一天属于该年的第几周, 01-53
%Y 年, YYYY
%% 百分号

strftime()的用法举例如下:


例11.
sqlite> select strftime('%Y.%m.%d %H:%M:%S','now','localtime');
2010.10.23 15:23:18


函数篇:

算术函数
abs(X) 返回给定数字表达式的绝对值。
max(X,Y[,...]) 返回表达式的最大值。
min(X,Y[,...]) 返回表达式的最小值。
random(*) 返回随机数。
round(X[,Y]) 返回数字表达式并四舍五入为指定的长度或精度。
字符处理函数
length(X) 返回给定字符串表达式的字符个数。
lower(X) 将大写字符数据转换为小写字符数据后返回字符表达式。
upper(X) 返回将小写字符数据转换为大写的字符表达式。
substr(X,Y,Z) 返回表达式的一部分。
randstr()
quote(A)
like(A,B) 确定给定的字符串是否与指定的模式匹配。
glob(A,B)
条件判断函数
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
集合函数
avg(X) 返回组中值的平均值。
count(X) 返回组中项目的数量。
max(X) 返回组中值的最大值。
min(X) 返回组中值的最小值。
sum(X) 返回表达式中所有值的和。
其他函数
typeof(X) 返回数据的类型。
last_insert_rowid() 返回最后插入的数据的ID。
sqlite_version(*) 返回SQLite的版本。
change_count() 返回受上一语句影响的行数。
last_statement_change_count()
分享到:
评论

相关推荐

    sqlite 扩展函数(源码)

    这对于开发自定义的SQLite客户端或者调试扩展函数非常有帮助。 `sqlite3.h`是SQLite的头文件,包含了所有对外公开的API声明。通过包含这个头文件,开发者可以在自己的C程序中使用SQLite的接口,例如创建数据库连接...

    基于qt的SQLite客户端实现

    在本文中,我们将深入探讨如何使用Qt框架来实现一个基于C++的SQLite客户端。Qt是一个功能强大的跨平台应用程序开发框架,支持多种操作系统,包括Windows、Linux、macOS等。SQLite则是一个轻量级的数据库引擎,它允许...

    sqlite 无需安装数据库查看工具

    SQLite是一款轻量级的、开源的、自包含的数据库引擎,它不需要单独的服务器进程,可以直接在客户端应用程序中使用。由于其小巧且高效的特点,SQLite被广泛应用于移动设备、嵌入式系统以及桌面应用程序中。标题提到的...

    sqlite 支持的 sql 语法详解

    SQLite 支持多种类型的JOIN,如 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER JOIN: ```sql SELECT * FROM students JOIN courses ON students.id = courses.student_id; ``` 六、分组与聚合函数 使用GROUP BY...

    sqlite数据库 安装程序

    - sqlite3.def:这是一个定义文件,包含了SQLite动态链接库(DLL)导出的函数和常量的定义。在编译或链接过程中,这个文件用于生成DLL的接口。 - sqlite3.dll:这是SQLite的核心库文件,包含了SQLite的所有功能。...

    SQLite3 C/C++ 开发接口简介(API函数)--没有功劳也有苦劳吧

    在处理UTF-16编码字符串时,SQLite3使用void*类型,允许客户端根据自身系统需求进行映射。同时,为适应不同的编码需求,许多API函数都有UTF-8和UTF-16两个版本。此外,SQLite3还提供了自定义SQL函数和文本排序函数的...

    SQLite3 for windows

    SQLite3不仅包含一个可执行文件(.exe),还包含动态链接库(.dll)文件、定义文件(.def)以及解析器等组件,这些都是构建和运行SQLite3数据库系统的关键部分。 1. SQLite3可执行文件(.exe):这是SQLite3的主...

    SQLite函数使用教程 源码

    以下是一些基本的SQLite函数: 1. **数值运算**: - `ABS(x)`:返回x的绝对值。 - `ROUND(x,y)`:四舍五入数字x到小数点后y位。 - `RAND()`:返回一个随机数。 2. **字符串操作**: - `LENGTH(str)`:返回字符...

    Sqlite3类库,包括sqlite3.dll、sqlite3.h和sqlite3.lib

    1. **轻量级**: SQLite3不需要单独的服务器进程,直接在客户端进行数据存储,极大地简化了部署和维护。 2. **事务性**: 支持ACID(原子性、一致性、隔离性和持久性)事务,确保数据的一致性和可靠性。 3. **跨平台...

    SqliteClient for D7

    10. **存储过程与触发器**:虽然SQLite本身不直接支持存储过程,但可以通过自定义函数和触发器实现类似功能,SqliteClient也提供了相应的接口。 通过学习和使用SqliteClient for D7,Delphi开发者可以快速掌握...

    sqlite3 for delphi (支持delphi2009与delphi2010)

    SQLite3是一个轻量级、开源、自包含的关系型数据库,广泛应用于嵌入式系统和桌面应用,因为它无需服务器进程,可以直接在客户端进行数据存储。 SQLite3 for Delphi的集成提供了以下关键功能和优势: 1. **API接口*...

    SQLite ODBC Driver

    4. 数据类型:SQLite的数据类型和ODBC或ADO中的数据类型可能存在差异,需要进行适配和转换。 总的来说,SQLite ODBC Driver为开发人员提供了一种方便的方式来利用SQLite的强大功能,无论是在桌面应用还是Web应用中...

    Sqlite3动态库

    SQLite3是一种轻量级、开源的数据库管理系统,它被广泛应用于嵌入式系统和桌面应用程序中,因为它无需单独的服务器进程,可以直接在客户端执行SQL语句。本压缩包包含的是SQLite3编译后的动态链接库(dll文件)、库...

    sqlite小工具

    6. SQL标准兼容:SQLite实现了大部分SQL92标准,包括子查询、联接、视图、触发器等复杂操作,同时也支持一些高级特性如窗口函数和虚拟表。 7. 性能优化:SQLite具有多种性能优化策略,如索引创建、查询计划选择、...

    sqlite 3.87 for wince

    SQLite是一款开源、轻型的数据库管理系统,被广泛应用于嵌入式设备和移动应用中,因为它无需服务器进程,可以直接在客户端进行数据存储。标题中的"sqlite 3.87 for wince"表明这是一个针对Windows CE(一种嵌入式...

    sqlite3-3.30.1-dll.rar

    此外,SQLite3也支持标准的SQL语法,提供丰富的数据类型,包括整数、浮点数、字符串、BLOB(二进制大对象)等,以及强大的索引和触发器功能。 在C/C++项目中,SQLite3不仅可以用来存储应用程序的数据,还可以作为...

    嵌入式数据库SQLite的编译、安装和使用

    ### 嵌入式数据库SQLite的编译、安装与使用详解 #### 一、SQLite简介 SQLite是一款轻量级的数据库引擎,具有嵌入式的特性,适用于多种应用场景,特别是对于那些不需要复杂数据库管理系统的场景非常合适。SQLite的...

    SQLite 64位系统

    SQLite是一款开源、轻型的数据库管理系统,主要用于嵌入式应用,不需要单独的服务器进程,可以直接在客户端进行数据存储。在64位系统中,SQLite提供64位版本以支持大容量的数据处理。以下是对标题和描述中涉及的知识...

    pbootcms数据sqlite转mysql数据库

    2. **SQL语法差异**:例如,SQLite支持的子查询语法在MySQL中可能需要调整,还有一些特定函数的使用也可能不同。 3. **事务处理**:SQLite默认开启自动提交,而MySQL需要手动开启和提交事务,转换过程中需要注意这...

    sqlite3.rar

    3. **插入数据**: 插入数据使用`sqlite3_prepare_v2()`准备SQL语句,然后用`sqlite3_bind_*()`函数绑定参数,最后调用`sqlite3_step()`和`sqlite3_finalize()`执行插入操作。例如,插入一个学生记录:“INSERT INTO ...

Global site tag (gtag.js) - Google Analytics