前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转SQLite7:基本语法与数据类型

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

作者头像
xxpcb
发布2022-10-04 14:13:18
7280
发布2022-10-04 14:13:18
举报
文章被收录于专栏:码农爱学习的专栏

前面几篇文章:

玩转SQLite1:SQLite简介与安装

玩转SQLite2:SQLite命令行基本操作

玩转SQLite3:SQLite图形软件基本操作

玩转SQLite4:SQLite数据插入与查看

玩转SQLite5:使用Python来读写数据库

玩转SQLite6:使用C语言来读写数据库

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

1 SQLite 基本语法

1.1 SQLite注释

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

1.2 SQLite大小写

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

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

1.3 SQLite语句/命令

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

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

1.3.1 DDL - 数据定义语言

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

命令

描述

CREATE/create

创建一个新的表,一个表的视图,或者数据库中的其他对象

ALTER/alter

修改数据库中的某个已有的数据库对象,比如一个表

DROP/drop

删除整个表,或者表的视图,或者数据库中的其他对象

1.3.2 DML - 数据操作语言

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

命令

描述

INSERT/insert

创建一条记录

DELETE/delete

删除记录

UPDATE/update

修改记录

1.3.3 DQL - 数据查询语言

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

命令

描述

SELECT/select

从一个或多个表中检索某些记录

总结一下:

2 SQLite数据类型

SQLite存储类

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

存储类

描述

NULL

值是一个 NULL 值。

INTEGER

值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。

REAL

值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。

TEXT

值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。

BLOB

值是一个 blob 数据,完全根据它的输入存储。

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形式存放。

存储类

日期格式

TEXT

格式为 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。

REAL

从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。

INTEGER

从 1970-01-01 00:00:00 UTC 算起的秒数。

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

函数

含义

date(timestring, modifier, modifier, ...)

以 YYYY-MM-DD 格式返回日期

time(timestring, modifier, modifier, ...)

以 HH:MM:SS 格式返回时间

datetime(timestring, modifier, modifier, ...)

以 YYYY-MM-DD HH:MM:SS 格式返回

julianday(timestring, modifier, modifier, ...)

这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数

strftime(format, timestring, modifier, modifier, ...)

这将根据第一个参数指定的格式字符串返回格式化的日期

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

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

代码语言:javascript
复制
date(...)         strftime('%Y-%m-%d', ...)
time(...)         strftime('%H:%M:%S', ...)
datetime(...)     strftime('%Y-%m-%d %H:%M:%S', ...)
julianday(...)    strftime('%J', ...)

strftime中的格式包括:

代码语言:javascript
复制
-- 格式   格式说明
-- %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语句,可以简单测试一些日期格式(打印当前的时间):

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农爱学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 SQLite 基本语法
    • 1.1 SQLite注释
      • 1.2 SQLite大小写
        • 1.3 SQLite语句/命令
          • 1.3.1 DDL - 数据定义语言
          • 1.3.2 DML - 数据操作语言
          • 1.3.3 DQL - 数据查询语言
      • 2 SQLite数据类型
        • SQLite存储类
          • Boolean 数据类型
            • Date 与 Time 数据类型
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档