衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

玩轉SQLite7:基本語法與數據類型

碼農愛學習 ? 來源:碼農愛學習 ? 作者:碼農愛學習 ? 2022-09-26 09:07 ? 次閱讀

前面幾篇文章已經快速了解了SQLite的基本用法以及簡單的Pyhton與C語言的API函數的使用。本篇再來全面介紹下SQLite的基本語法與數據類型。

1 SQLite 基本語法

1.1 SQLite注釋

單行注釋以兩個連續的橫杠: "--" 開始

多行注釋則與C風格的:“/* */”一致

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 從一個或多個表中檢索某些記錄

總結一下:

poYBAGMwWtGAJyhcAAC5pcK6YkU088.png

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函數:

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語句,可以簡單測試一些日期格式(打印當前的時間):

pYYBAGMwWueAJMoKAABPoqWM94k730.png

end
審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137738
  • SQlite
    +關注

    關注

    0

    文章

    78

    瀏覽量

    16023
收藏 人收藏

    評論

    相關推薦

    請問ADS1299使用Test Signals ,獲取到的數據類型是什么?

    請問ADS1299使用Test Signals ,獲取到的數據類型是什么?使用什么公式可以還原?據了解,外部信號轉換完成后是浮點型的,但是沒有看到這塊的說明。
    發表于 01-06 07:14

    西門子博途新數據類型之:SINT(8位整數)

    數據類型 SINT (Short INT) 的操作數長度為 8 位,由以下兩部分組成:一部分是符號,另一部分是數值。位 0 到 6 的信號狀態表示數值。位 7 的信號狀態表示符號。符號可以是“0”(正信號狀態),或“1”(負信號狀態)。
    的頭像 發表于 11-09 09:52 ?1548次閱讀
    西門子博途新<b class='flag-5'>數據類型</b>之:SINT(8位整數)

    AIC23采集到的數據是應該用什么數據類型來接收?int還是unsigned int?

    AIC23采集到的數據是應該用什么數據類型來接收,int還是unsigned int? 這個采集到的數字是什么含義呢?代表的是聲音信號的幅值? while(!MCBSP_rrdy(hMcbsp
    發表于 10-18 06:56

    鴻蒙原生應用元服務開發-倉頡基礎數據類型浮點類型

    區間類型用于表示擁有固定步長的序列,區間類型是一個泛型,使用Range 表示。當 T 被實例化不同的類型時(要求此類型必須支持關系操作符,并且可以和 Int64
    發表于 09-11 11:08

    labview數據類型的取值范圍是多少

    LabVIEW的數據類型豐富多樣,涵蓋了整數、小數(浮點數)、復數等多種類型,每種類型都有其特定的取值范圍。以下是對LabVIEW中常見數據類型取值范圍的說明: 整數
    的頭像 發表于 09-04 17:33 ?1356次閱讀

    常見的遙感數據類型有哪些

    遙感技術是一種通過遙感器在遠離目標的位置獲取目標地物的電磁波信息,并進行分析的技術。遙感數據類型繁多,涵蓋了從可見光到紅外、微波等多個波段,以及不同的數據格式和分辨率。 光學遙感數據 : 全色影像
    的頭像 發表于 09-04 14:30 ?2059次閱讀

    人體紅外傳感器的數據類型及工作原理

    人體紅外傳感器是一種利用紅外技術檢測人體活動和位置的傳感器。它廣泛應用于安防、智能家居、醫療健康等領域。 人體紅外傳感器的數據類型 人體紅外傳感器的數據主要包括以下幾種類型: 1.1 溫度數據
    的頭像 發表于 08-20 09:18 ?1060次閱讀

    技術干貨驛站 ▏深入理解C語言:基本數據類型和變量

    在C語言中,數據類型和變量是編程的基礎,也是理解更復雜概念的關鍵。數據類型決定了變量的內存分配、存儲范圍和操作方式,而變量則是存儲數據的容器。本篇文章將從基本數據類型和變量兩個方面,帶
    的頭像 發表于 07-26 17:53 ?2271次閱讀
    技術干貨驛站 ▏深入理解C語言:基本<b class='flag-5'>數據類型</b>和變量

    FPGA學習筆記---基本語法

    Verilog語法是指硬件能夠實現的語法。它的子集很小。常用的RTL語法結構如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發表于 06-23 14:58

    ESP32-S3是否支持修改控制端點數據類型

    ESP32-S3是否支持修改控制端點數據類型(如標準類型,自定義類型); 我需要在控制傳輸數據階段的DATA0包改為我的USB設備規定的8個字節的
    發表于 06-07 06:00

    C語言結構體史上最詳細的講解【軟件干貨】

    的基本屬性,但是當我們想表達一個事物的全部或部分屬性時,這時候再用單一的基本數據類型明顯就無法滿足需求了,這時候C提供了一種自定義數據類型,他可以封裝多個基本數據類型,這種數據類型叫結
    的頭像 發表于 03-28 17:52 ?854次閱讀

    C語言數據類型有哪些

    在 C 語言中,數據類型指的是用于聲明不同類型的變量或函數的一個廣泛的系統。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。
    發表于 03-20 10:56 ?515次閱讀
    C語言<b class='flag-5'>數據類型</b>有哪些

    RT-Thread創建SQLite數據庫失敗是什么原因呢?

    STM32F103ZET6基于RT-Thread V4.1.1,文件系統littlefs,SQLite是從github下載的;在線程中調用示例代碼create_student_tbl()創建數據庫報錯,大佬們知道是什么原因嗎?
    發表于 03-05 06:35

    arcgis值類型與字段類型不兼容

    數據類型,用于定義字段可以存儲的數據范圍和格式。常見的字段類型包括整數(int),浮點數(float),日期(date),文本(string)等。當我們在創建數據表或圖層時,需要選擇
    的頭像 發表于 02-25 11:14 ?1871次閱讀

    verilog task和function區別

    結構: task的語法格式為:task [automatic|static] 數據類型 任務名稱 (輸入參數列表); function的語法格式為:函數數據類型 函數名稱 (輸入參數列
    的頭像 發表于 02-22 15:53 ?1187次閱讀
    百家乐官网线上代理网站| 游戏机百家乐的玩法技巧和规则 | 玩百家乐官网输澳门百家乐官网现场 | 大发888游戏平台 df888ylcxz46 | 二手房| 赌博百家乐秘籍| 百家乐官网赢足球博彩皇冠| 大发888-娱乐| 免费百家乐官网缩水软件| 百家乐官网网上真钱娱乐网| 大发888娱乐场c17| 利来百家乐官网的玩法技巧和规则 | 百家乐太阳城小郭| 河间市| 大发888娱乐场解码器| 豪门百家乐官网的玩法技巧和规则| 澳门1百家乐官网网| 大发888 这类平台| 澳门百家乐看路博客| 做生意的门的方向| 百家乐官网百家乐官网游戏| 网络棋牌室| 金世豪百家乐的玩法技巧和规则| 网上百家乐真的假的| 沈阳棋牌网| 百家乐开户首选| 蓝盾百家乐官网平台| 如何看百家乐官网的路纸| 信阳市| 福布斯百家乐的玩法技巧和规则 | 金宝博滚球| 易胜博棋牌| 网上百家乐的技巧| 娱乐百家乐官网的玩法技巧和规则| 百家乐官网精神| 晋江市| 名门国际娱乐| 大发888娱乐场 下载| 威尼斯人娱乐场送1688元礼金领取lrm | 博彩论坛交流中心| 大发888娱乐方|