<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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

    文章

    7534

    瀏覽量

    129785
  • SQlite
    +關注

    關注

    0

    文章

    78

    瀏覽量

    15776
收藏 人收藏

    評論

    相關推薦

    C語言數據類型有哪些

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

    plc數據類型怎么理解和應用

    PLC(可編程邏輯控制器)是一種工業自動化設備,用于控制機械和工業過程。在PLC編程中,數據類型是非常重要的概念,因為它決定了程序中數據的存儲和處理方式。正確理解和應用PLC數據類型是編寫有效、可靠
    的頭像 發表于 12-19 11:39 ?1587次閱讀

    oracle的數據類型有哪些

    Oracle數據庫中有許多數據類型可供選擇,每種數據類型都有其各自的特點和適用場景。下面是對Oracle數據庫中最常用的數據類型的詳盡說明,
    的頭像 發表于 12-05 16:45 ?703次閱讀

    SystemC中的數據類型概念

    或引起一個事件,要使用通知函數notify( ),語法如下: event_name. notify (參數); 或 notify (參數,event_name); SystemC中的數據類型 作為C++
    的頭像 發表于 11-02 15:44 ?432次閱讀
    SystemC中的<b class='flag-5'>數據類型</b>概念

    Redis的數據類型有哪些

    Redis的數據類型有哪些?有五種常用數據類型:String、Hash、Set、List、SortedSet。以及三種特殊的數據類型:Bitmap、HyperLogLog、Geospatial
    的頭像 發表于 10-09 10:51 ?418次閱讀

    FreeRTOS使用的數據類型有哪些

    數據類型 FreeRTOS 使用的數據類型主要分為 stdint.h 文件中定義的和自己定義的。其中 char 和 char * 定義的變量要特別注意。 FreeRTOS 主要自定義了以下四種數據類型
    的頭像 發表于 09-28 11:49 ?422次閱讀

    PLC 數據類型 (UDT) 的基本知識

    說明 PLC 數據類型 (UDT) 是一種復雜的用戶自定義數據類型,用于聲明一個變量。這種數據類型是一個由多個不同數據類型元素組成的數據結構
    的頭像 發表于 09-10 09:46 ?2570次閱讀
    PLC <b class='flag-5'>數據類型</b> (UDT) 的基本知識

    F型PLC數據類型與標準PLC數據類型(UDT)之間的差別在哪?

    可以像使用標準 PLC 數據類型 (UDT) 那樣,聲明和使用 F 型 PLC 數據類型 (UDT) ??梢栽诎踩绦蛑幸约皹藴视脩舫绦蛑惺褂?F 型 PLC 數據類型 (UDT) 。
    的頭像 發表于 08-27 09:54 ?784次閱讀
    F型PLC<b class='flag-5'>數據類型</b>與標準PLC<b class='flag-5'>數據類型</b>(UDT)之間的差別在哪?

    淺談PLC定義數據類型的應用

    PLC定義數據類型以下用一個例子介紹PLC定義數據類型的應用,以便進一步理解PLC定義數據類型。
    的頭像 發表于 07-24 16:07 ?856次閱讀
    淺談PLC定義<b class='flag-5'>數據類型</b>的應用

    ARRAY 數據類型的變量

    要求 全局數據塊已打開。 操作步驟 要聲明一個 ARRAY 數據類型的變量,請按以下步驟操作: 在“名稱”(Name) 列中,輸入變量的名稱。 在“數據類型”列中輸入“Array”數據類型
    的頭像 發表于 07-06 11:08 ?670次閱讀

    Verilog基本語法數據類型

    數據類型是用來表示數字電路中的數據存儲和傳送單元
    的頭像 發表于 06-18 10:52 ?1674次閱讀

    基本數據類型分享

    基本數據類型 基本數據類型:包括位、位序列、整數、浮點數、日期時間。此外字符也屬于基本數據類型,請參見文檔String與WString。 1.位和位序列 2.整數數據類型 3.浮點型實
    的頭像 發表于 06-13 14:14 ?6037次閱讀
    基本<b class='flag-5'>數據類型</b>分享

    GaussDB 數據類型介紹

    GaussDB 數據庫 GaussDB 是華為基于 openGauss 自研生態推出的云化企業級分布式關系型數據庫,它支持多種數據類型,包括數值、字符、日期等。在使用 GaussDB 時,可能需要
    的頭像 發表于 06-05 16:40 ?1295次閱讀
    GaussDB <b class='flag-5'>數據類型</b>介紹

    GaussDB數據類型轉換介紹

    數據類型轉換在實際應用中非常常見。GaussDB 作為一款企業級分布式關系型數據庫,在實際業務場景使用中,也會避免不了數據類型的轉換。以下是一些數據類型轉換的應用場景。
    的頭像 發表于 06-05 16:29 ?544次閱讀
    GaussDB<b class='flag-5'>數據類型</b>轉換介紹

    Verilog最常用的2種數據類型

    Verilog 最常用的 2 種數據類型就是線網(wire)與寄存器(reg),其余類型可以理解為這兩種數據類型的擴展或輔助。
    的頭像 發表于 05-29 16:27 ?1241次閱讀
    Verilog最常用的2種<b class='flag-5'>數據類型</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>