ITPub博客

首页 > 数据库 > > 玩转SQLite7:基本语法与数据类型

玩转SQLite7:基本语法与数据类型

作者:u_9ff4c058a0e0 时间:2022-03-15 17:56:45 0 删除 编辑

几篇文章已经快速的了解了SQLite是基本用法已经简单的Pyhton与C语言的API函数的使用。本篇再来全面的介绍下SQLite的基本语法与数据类型。

1 SQLite 基本语法

1.1 SQLite注释

  • 单行注释以两个连续的横杠: "--" 开始
  • 多行注释则与C风格的:“/* */”一致
sqlite>.help -- 这是一个简单的注释
sqlite>.help /* 这也是一个简单的注释 */

1.2 SQLite大小写

SQLite是不区分大小写,比如select语句中,即可以使用大写的SELECT,也可以用小写的select。

但有例外:GLOB和glob在SQLite语句中有不同的含义。

1.3 SQLite语句/命令

SQLite 语句以关键字开始,以分号 ; 结束

关键字,也称SQLite命令,如:SELECT,INSERT,UPDATE,DELETE,ALTER,DROP等,具体分类如下:

1.3.1 DDL - 数据定义语言

数据操作语言,即数据的增、删、改数据库在的数据表

1.3.2 DML - 数据操作语言

数据操作语言,即对数据表中的数据进行增、删、改操作

1.3.3 DQL - 数据查询语言

数据操作语言,即对数据表中的数据进行查操作

总结一下:


2 SQLite数据类型

SQLite存储类

SQLite 中的每一列,每个变量和表达式都有相关的数据类型,每个存储在 SQLite 数据库中的值都具有以下存储类之一:

SQLite 的存储类稍微比数据类型更普遍。

比如INTEGER存储类,包含 6 种不同的不同长度的整数数据类型,但只要INTEGER值被从磁盘读出进内存处理,就被转换成最一般的数据类型(8-字节有符号整形)。

对于BLOB数据,它表示二进制大对象,一般用来保存图片,视频等,另外还有CLOB,表示字符大对象,能够存放大量基于字符的数据。

Boolean 数据类型

SQLite 没有单独的 Boolean 存储类,它使用INTEGER作为存储类型,布尔值被存储为整数 0(false)和 1(true)。

Date 与 Time 数据类型

SQLite 没有一个单独的用于存储日期和/或时间的存储类,但内置的sqlite日期和时间函数能够将日期和时间以TEXT,REAL或INTEGER形式存放数能够将日期和时间以TEXT,REAL或INTEGER形式存放。

内置的日期和时间函数包括:

  • 第一个参数(timestring):时间字符串
  • 后面的参数(modifier):修饰符
  • strftime() 函数可以把格式字符串format作为其第一个参数

前四个个函数也可以转换成strftime函数:

date(...)         strftime('%Y-%m-%d', ...)
time(...)         strftime('%H:%M:%S', ...)
datetime(...)     strftime('%Y-%m-%d %H:%M:%S', ...)
julianday(...)    strftime('%J', ...)  

strftime中的格式包括:

-- 格式   格式说明
-- %d    天数,例如:01-31中某一个天
-- %f    带小数部分(SS.SSS格式)的秒
-- %H    小时,例如: 00-23中某一个小时
-- %j   一年中的第几天,001-366
-- %J    儒略日数,DDDD.DDDD
-- %m    月,00-12中某一具体月份
-- %M    分,00-59
-- %s    从 1970-01-01 算起的秒数
-- %S    秒,00-59
-- %w    一周中的第几天,0-6 (0 is Sunday)
-- %W    一年中的第几周,01-53
-- %Y    年,YYYY
-- %%    % symbol

通过SQLite语句,可以简单测试一些日期格式(打印当前的时间):



end

来源 https://zhuanlan.zhihu.com/p/452545935

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3146959/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-11

  • 博文量
    1828
  • 访问量
    20576