七天.NET 8操作SQLite入門到實戰 - 第三天SQLite快速入門

追逐時光者發表於2023-11-22

前言

今天我們花費一個小時快速瞭解SQLite資料型別、SQLite常用命令和語法。

七天.NET 8操作SQLite入門到實戰詳細教程

EasySQLite專案原始碼地址

GitHub地址:https://github.com/YSGStudyHards/EasySQLite?

SQLite資料型別

以下是SQLite常見的五種資料型別及其詳細描述:

資料型別描述
NULL 空值。
INTEGER 值是一個帶符號的整數,根據值的大小儲存在1、2、3、4、6或8位元組中。
REAL 浮點數字,儲存為8-byte IEEE浮點數。
TEXT 文字字串,使用資料庫編碼(UTF-8、UTF-16BE或UTF-16LE)儲存。
BLOB 二進位制物件。

SQLite日期和時間函式

SQLite 支援以下五個日期和時間函式:

序號函式例項
1 date(timestring, modifier, modifier, ...) 以 YYYY-MM-DD 格式返回日期。例如:date('2023-11-22') 返回 '2023-11-22'。
2 time(timestring, modifier, modifier, ...) 以 HH:MM:SS 格式返回時間。例如:time('14:30:45') 返回 '14:30:45'。
3 datetime(timestring, modifier, modifier, ...) 以 YYYY-MM-DD HH:MM:SS 格式返回。例如:datetime('2023-11-22 14:30:45') 返回 '2023-11-22 14:30:45'。
4 julianday(timestring, modifier, modifier, ...) 這將返回從格林尼治時間的公元前 4714 年 11 月 24 日正午算起的天數。例如:julianday('2023-11-22') 返回對應的天數2460270.5。
5 strftime(format, timestring, modifier, modifier, ...) 這將根據第一個引數指定的格式字串返回格式化的日期。具體格式見下邊講解。例如:strftime('%Y-%m-%d %H:%M:%S', '2023-11-22 14:30:45') 返回格式化後的日期字串2023-11-22 14:30:45。

SQLite常用命令

輸出幫助資訊:

.help

建立一個新的資料庫檔案:

在命令提示符下,輸入以下命令來開啟SQLite命令列:sqlite3
.open MyTest.db

建立或開啟資料庫檔案:

sqlite3 MyTest.db

檢視資料庫檔案資訊命令:

.database

檢視所有表的建立語句:

.schema

檢視指定表的建立語句:

.schema UserInfo

以SQL語句的形式列出表內容:

.dump UserInfo

列出當前顯示格式的配置:

.show

 

退出SQLite終端命令:

.quit

.exit

SQLite常用語法

SQLite是一種嵌入式關係型資料庫,它支援SQL語言。大部分標準的SQL語法在SQLite中都可以使用,但也有一些特性和限制。

  • 以下是SQLite常用的SQL語法(請注意,具體語法細節可能會因版本和環境而有所不同,我當前使用的是SQLite3):

建立表:

CREATE TABLE school (
    ID INTEGER PRIMARY KEY,
    school_name TEXT,
    school_address TEXT
);

插入資料:

INSERT INTO school (ID, school_name, school_address)
VALUES (1, '追逐時光者學校', '北京市某區某街道');

查詢資料:

SELECT ID, school_name, school_address
FROM school
WHERE school_name = '追逐時光者學校';

更新資料:

UPDATE school
SET school_address = '深圳南山區'
WHERE ID = 1;

刪除資料:

DELETE FROM school
WHERE ID = 1;

組合查詢:

SELECT s.school_name, s.school_address, t.teacher_name
FROM school s
JOIN teacher t ON s.ID = t.school_ID;

排序資料:

SELECT ID, school_name, school_address
FROM school
ORDER BY school_name ASC;

聚合函式:

SELECT COUNT(*) FROM school;
SELECT MAX(ID) FROM school;

索引操作:

-- 建立索引
CREATE INDEX idx_school_name ON school (school_name);

-- 刪除索引
DROP INDEX idx_school_name;

DotNetGuide技術社群交流群

  • DotNetGuide技術社群是一個面向.NET開發者的開源技術社群,旨在為開發者們提供全面的C#/.NET/.NET Core相關學習資料、技術分享和諮詢、專案推薦、招聘資訊和解決問題的平臺。
  • 在這個社群中,開發者們可以分享自己的技術文章、專案經驗、遇到的疑難技術問題以及解決方案,並且還有機會結識志同道合的開發者。
  • 我們致力於構建一個積極向上、和諧友善的.NET技術交流平臺,為廣大.NET開發者帶來更多的價值和成長機會。

歡迎加入DotNetGuide技術社群微信交流群?

 

相關文章