前言
今天我們花費一個小時快速瞭解SQLite資料型別、SQLite常用命令和語法。
七天.NET 8操作SQLite入門到實戰詳細教程
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開發者帶來更多的價值和成長機會。