www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 碼農(nóng)愛學(xué)習(xí)
[導(dǎo)讀]已經(jīng)快速了解了SQLite的基本用法以及簡(jiǎn)單的Pyhton與C語言的API函數(shù)的使用。本篇再來全面介紹下SQLite的基本語法與數(shù)據(jù)類型。

已經(jīng)快速了解了SQLite的基本用法以及簡(jiǎn)單的Pyhton與C語言的API函數(shù)的使用。本篇再來全面介紹下SQLite的基本語法與數(shù)據(jù)類型。

1 SQLite 基本語法

1.1 SQLite注釋

  • 單行注釋以兩個(gè)連續(xù)的橫杠:"--" 開始
  • 多行注釋則與C風(fēng)格的:“/* */”一致
sqlite>.help -- 這是一個(gè)簡(jiǎn)單的注釋
sqlite>.help /* 這也是一個(gè)簡(jiǎn)單的注釋 */

1.2 SQLite大小寫

SQLite是不區(qū)分大小寫,比如select語句中,既可以使用大寫的SELECT,也可以用小寫的select

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

1.3 SQLite語句/命令

SQLite 語句以關(guān)鍵字開始,以分號(hào);結(jié)束

關(guān)鍵字,也稱SQLite命令,如:SELECT,INSERT,UPDATE,DELETE,ALTER,DROP等,具體分類如下:

1.3.1 DDL - 數(shù)據(jù)定義語言

數(shù)據(jù)操作語言,即數(shù)據(jù)的增、刪、改數(shù)據(jù)庫在的數(shù)據(jù)表

命令 描述
CREATE/create 創(chuàng)建一個(gè)新的表,一個(gè)表的視圖,或者數(shù)據(jù)庫中的其他對(duì)象
ALTER/alter 修改數(shù)據(jù)庫中的某個(gè)已有的數(shù)據(jù)庫對(duì)象,比如一個(gè)表
DROP/drop 刪除整個(gè)表,或者表的視圖,或者數(shù)據(jù)庫中的其他對(duì)象

1.3.2 DML - 數(shù)據(jù)操作語言

數(shù)據(jù)操作語言,即對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行增、刪、改操作

命令 描述
INSERT/insert 創(chuàng)建一條記錄
DELETE/delete 刪除記錄
UPDATE/update 修改記錄

1.3.3 DQL - 數(shù)據(jù)查詢語言

數(shù)據(jù)操作語言,即對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行操作

命令 描述
SELECT/select 從一個(gè)或多個(gè)表中檢索某些記錄

總結(jié)一下:

2 SQLite數(shù)據(jù)類型

SQLite存儲(chǔ)類

SQLite 中的每一列,每個(gè)變量和表達(dá)式都有相關(guān)的數(shù)據(jù)類型,每個(gè)存儲(chǔ)在 SQLite 數(shù)據(jù)庫中的值都具有以下存儲(chǔ)類之一:

存儲(chǔ)類 描述
NULL 值是一個(gè) NULL 值。
INTEGER 值是一個(gè)帶符號(hào)的整數(shù),根據(jù)值的大小存儲(chǔ)在 1、2、3、4、6 或 8 字節(jié)中。
REAL 值是一個(gè)浮點(diǎn)值,存儲(chǔ)為 8 字節(jié)的 IEEE 浮點(diǎn)數(shù)字。
TEXT 值是一個(gè)文本字符串,使用數(shù)據(jù)庫編碼(UTF-8、UTF-16BE 或 UTF-16LE)存儲(chǔ)。
BLOB 值是一個(gè) blob 數(shù)據(jù),完全根據(jù)它的輸入存儲(chǔ)。

SQLite 的存儲(chǔ)類稍微比數(shù)據(jù)類型更普遍。

比如INTEGER存儲(chǔ)類,包含 6 種不同的不同長(zhǎng)度的整數(shù)數(shù)據(jù)類型,但只要INTEGER值被從磁盤讀出進(jìn)內(nèi)存處理,就被轉(zhuǎn)換成最一般的數(shù)據(jù)類型(8-字節(jié)有符號(hào)整形)。

對(duì)于BLOB數(shù)據(jù),它表示二進(jìn)制大對(duì)象,一般用來保存圖片,視頻等,另外還有CLOB,表示字符大對(duì)象,能夠存放大量基于字符的數(shù)據(jù)。

Boolean 數(shù)據(jù)類型

SQLite 沒有單獨(dú)的 Boolean 存儲(chǔ)類,它使用INTEGER作為存儲(chǔ)類型,布爾值被存儲(chǔ)為整數(shù) 0(false)和 1(true)。

Date 與 Time 數(shù)據(jù)類型

SQLite 沒有一個(gè)單獨(dú)的用于存儲(chǔ)日期和/或時(shí)間的存儲(chǔ)類,但內(nèi)置的sqlite日期和時(shí)間函數(shù)能夠?qū)⑷掌诤蜁r(shí)間以TEXT,REAL或INTEGER形式存放數(shù)能夠?qū)⑷掌诤蜁r(shí)間以TEXT,REAL或INTEGER形式存放。

存儲(chǔ)類 日期格式
TEXT 格式為 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。
REAL 從公元前 4714 年 11 月 24 日格林尼治時(shí)間的正午開始算起的天數(shù)。
INTEGER 從 1970-01-01 00:00:00 UTC 算起的秒數(shù)。

內(nèi)置的日期和時(shí)間函數(shù)包括:

函數(shù) 含義
date(timestring, modifier, modifier, ...) 以 YYYY-MM-DD 格式返回日期
time(timestring, modifier, modifier, ...) 以 HH:MM:SS 格式返回時(shí)間
datetime(timestring, modifier, modifier, ...) 以 YYYY-MM-DD HH:MM:SS 格式返回
julianday(timestring, modifier, modifier, ...) 這將返回從格林尼治時(shí)間的公元前 4714 年 11 月 24 日正午算起的天數(shù)
strftime(format, timestring, modifier, modifier, ...) 這將根據(jù)第一個(gè)參數(shù)指定的格式字符串返回格式化的日期
  • 第一個(gè)參數(shù)(timestring):時(shí)間字符串
  • 后面的參數(shù)(modifier):修飾符
  • strftime() 函數(shù)可以把格式字符串format作為其第一個(gè)參數(shù)

前四個(gè)個(gè)函數(shù)也可以轉(zhuǎn)換成strftime函數(shù):

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

strftime中的格式包括:

-- 格式   格式說明
-- %d    天數(shù),例如:01-31中某一個(gè)天
-- %f    帶小數(shù)部分(SS.SSS格式)的秒
-- %H    小時(shí),例如:00-23中某一個(gè)小時(shí)
-- %j   一年中的第幾天,001-366
-- %J    儒略日數(shù),DDDD.DDDD
-- %m    月,00-12中某一具體月份
-- %M    分,00-59
-- %s    從 1970-01-01 算起的秒數(shù)
-- %S    秒,00-59
-- %w    一周中的第幾天,0-6 (0 is Sunday)
-- %W    一年中的第幾周,01-53
-- %Y    年,YYYY
-- %%    % symbol

通過SQLite語句,可以簡(jiǎn)單測(cè)試一些日期格式(打印當(dāng)前的時(shí)間):



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

自2014年ST公司推出STM32CubeMX以來,這款圖形化配置工具憑借“一鍵生成初始化代碼”“跨IDE兼容”“中間件集成”等特性,迅速成為78%的STM32開發(fā)者首選工具。然而,伴隨其普及的爭(zhēng)議始終未息:STM32C...

關(guān)鍵字: STM32CubeMX ST公司

在工業(yè)自動(dòng)化領(lǐng)域,Modbus協(xié)議憑借其開放性和易用性成為設(shè)備通信的"通用語言"。然而,當(dāng)工程師面對(duì)Modbus RTU、ASCII和TCP三種變體時(shí),如何根據(jù)具體場(chǎng)景做出最優(yōu)選擇?本文將從編碼機(jī)制、通信效率、錯(cuò)誤檢測(cè)等...

關(guān)鍵字: Modbus協(xié)議 TCP

在工業(yè)自動(dòng)化、能源管理等實(shí)時(shí)性要求嚴(yán)苛的場(chǎng)景中,Modbus通信系統(tǒng)的響應(yīng)延遲直接關(guān)系到設(shè)備控制的精度與系統(tǒng)穩(wěn)定性。從智能電表的功率調(diào)節(jié)到機(jī)器人關(guān)節(jié)的同步控制,微秒級(jí)的響應(yīng)偏差都可能引發(fā)連鎖故障。本文從硬件架構(gòu)、軟件設(shè)計(jì)...

關(guān)鍵字: Modbus 通信系統(tǒng)

在新能源發(fā)電、電動(dòng)汽車、數(shù)據(jù)中心等直流供電系統(tǒng)中,過壓故障是導(dǎo)致設(shè)備損壞的主要誘因之一。據(jù)統(tǒng)計(jì),電力電子設(shè)備故障中約35%與過壓事件相關(guān),其中直流側(cè)過壓占比達(dá)62%。本文以基于TVS二極管與MOSFET的復(fù)合型直流過壓保...

關(guān)鍵字: 直流過壓 保護(hù)電路

在工業(yè)物聯(lián)網(wǎng)(IIoT)與邊緣計(jì)算快速發(fā)展的背景下,Modbus協(xié)議憑借其輕量化特性成為微控制器(MCU)設(shè)備互聯(lián)的首選方案。然而,在資源受限的MCU(如STM32F0系列、ESP8266等,RAM通常小于32KB,F(xiàn)l...

關(guān)鍵字: 微控制器 Modbus 工業(yè)物聯(lián)網(wǎng)

在工業(yè)控制系統(tǒng)中,Modbus RTU協(xié)議的CRC校驗(yàn)如同通信網(wǎng)絡(luò)的"免疫系統(tǒng)",某石化廠DCS系統(tǒng)曾因CRC計(jì)算錯(cuò)誤導(dǎo)致0.3%的數(shù)據(jù)包丟失,引發(fā)連鎖控制故障。本文將深入解析CRC-16/MODBUS算法原理,對(duì)比軟件...

關(guān)鍵字: Modbus RTU CRC 算法

在工業(yè)自動(dòng)化領(lǐng)域,Modbus協(xié)議憑借其簡(jiǎn)潔高效的設(shè)計(jì),已成為設(shè)備間通信的"通用語言"。某智能電網(wǎng)項(xiàng)目通過Modbus RTU協(xié)議實(shí)現(xiàn)2000臺(tái)電表的數(shù)據(jù)采集,通信成功率高達(dá)99.97%,這背后正是對(duì)消息結(jié)構(gòu)的精準(zhǔn)把控。...

關(guān)鍵字: Modbus 工業(yè)自動(dòng)化

在工業(yè)物聯(lián)網(wǎng)設(shè)備開發(fā)中,Modbus從站功能已成為微控制器(MCU)的標(biāo)配能力。某智能電表項(xiàng)目通過在STM32上實(shí)現(xiàn)Modbus RTU從站,成功將設(shè)備接入現(xiàn)有SCADA系統(tǒng),開發(fā)周期縮短40%。本文將系統(tǒng)解析MCU實(shí)現(xiàn)...

關(guān)鍵字: 微控制器 Modbus 協(xié)議棧優(yōu)化

在嵌入式系統(tǒng)中,F(xiàn)lash存儲(chǔ)器因其非易失性、高密度和低成本特性,成為代碼存儲(chǔ)和關(guān)鍵數(shù)據(jù)保存的核心組件。然而,MCU驅(qū)動(dòng)Flash讀寫時(shí),開發(fā)者常因?qū)τ布匦岳斫獠蛔慊虿僮髁鞒淌韬觯萑胄阅芟陆?、?shù)據(jù)損壞甚至硬件損壞的陷...

關(guān)鍵字: MCU驅(qū)動(dòng) Flash

在嵌入式開發(fā)中,STM32的時(shí)鐘系統(tǒng)因其靈活性和復(fù)雜性成為開發(fā)者關(guān)注的焦點(diǎn)。然而,看似簡(jiǎn)單的時(shí)鐘配置背后,隱藏著諸多易被忽視的陷阱,輕則導(dǎo)致系統(tǒng)不穩(wěn)定,重則引發(fā)硬件損壞。本文從時(shí)鐘源選擇、PLL配置、總線時(shí)鐘分配等關(guān)鍵環(huán)...

關(guān)鍵字: STM32 時(shí)鐘系統(tǒng)
關(guān)閉