sqlite 初

來源:互聯網
上載者:User

標籤:模糊查詢   彙總   官方   name   bool   隨機   時間   命令   取資料   

1、SQLite是什麼

   基於檔案的輕型資料庫 無伺服器  零配置  支援事務  開源 

 

2、SQLite 怎麼用

  2.1 安裝

SQLite官網上下載對應的DLL 與工具

配置環境變數

 

 

安裝完成以後 查看版本

 

 

2.2 建立資料庫

sqlite的建立資料庫和使用資料庫都是一個命令,資料庫存在則根據名字載入資料庫,如果不存在則建立這個資料庫,

然後會看到sqlite> 表示正在使用這個資料庫

 

 

2.3 建立,刪除資料表

建立:create table user

(

id int primary key not null, --id 主鍵 非空

name varchar(20) not null,

age int

);

刪除:drop table table_name

 

2.4 sqlite 資料類型

每個儲存在 SQLite 資料庫中的值都具有以下儲存類之一:

儲存類

描述

NULL

值是一個 NULL 值。

INTEGER

值是一個帶符號的整數,根據值的大小儲存在 1、2、3、4、6 或 8 位元組中。

REAL

值是一個浮點值,儲存為 8 位元組的 IEEE 浮點數字。

TEXT

值是一個文本字串,使用資料庫編碼(UTF-8、UTF-16BE 或 UTF-16LE)儲存。

BLOB

值是一個 blob 資料,完全根據它的輸入儲存。

SQLite Affinity 及類型名稱

下表列出了當建立 SQLite3 表時可使用的各種資料類型名稱,同時也顯示了相應的應用 Affinity:

資料類型

Affinity

INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED BIG INT
INT2
INT8

INTEGER

CHARACTER(20)
VARCHAR(255)
VARYING CHARACTER(255)
NCHAR(55)
NATIVE CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB

TEXT

BLOB
no datatype specified

NONE

REAL
DOUBLE
DOUBLE PRECISION
FLOAT

REAL

NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME

NUMERIC

Boolean 資料類型

SQLite 沒有單獨的 Boolean 儲存類。相反,布爾值被儲存為整數 0(false)和 1(true)。

Date 與 Time 資料類型

SQLite 沒有一個單獨的用於儲存日期和/或時間的儲存類,但 SQLite 能夠把日期和時間儲存為 TEXT、REAL 或 INTEGER 值。

儲存類

日期格式

TEXT

格式為 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。

REAL

從公元前 4714 年 11 月 24 日格林尼治時間的正午開始算起的天數。

INTEGER

從 1970-01-01 00:00:00 UTC 算起的秒數。

 

 

表中插入資料

格式1:INSERT INTO TABLE_NAME (column1, column2,column3,...columnN)] VALUES (value1, value2, value3,...valueN);

格式2:INSERT INTO COMPANY VALUES (7, ‘James‘,24, ‘Houston‘, 10000.00 );

 

匯入其他表中的資料

INSERT INTO first_table_name [(column1,column2, ... columnN)]

SELECT column1, column2, ...columnN

FROM second_table_name [WHEREcondition];

 

刪除資料 delete

DELETE FROM table_name WHERE[condition];

尋找資料 select

SQLite 的 SELECT 語句用於從 SQLite 資料庫表中擷取資料,以結果表的形式返回資料。這些結果表也被稱為結果集。SQLite 的 SELECT 語句的基本文法如下:

SELECT column1, column2, columnN FROMtable_name;

 

更新資料 update

UPDATE table_name

SET column1 = value1, column2 =value2...., columnN = valueN

WHERE [condition];

 

模糊查詢 like

%:百分比符號 代表一個或者多個任一字元或者資料

_:底線 代表單一的數字或者字元並且2者可以組合使用

WHERE SALARY LIKE ‘200%‘

尋找以 200 開頭的任意值

WHERE SALARY LIKE ‘%200%‘

尋找任意位置包含 200 的任意值

WHERE SALARY LIKE ‘_00%‘

尋找第二位和第三位為 00 的任意值

WHERE SALARY LIKE ‘2_%_%‘

尋找以 2 開頭,且長度至少為 3 個字元的任意值

WHERE SALARY LIKE ‘%2‘

尋找以 2 結尾的任意值

WHERE SALARY LIKE ‘_2%3‘

尋找第二位為 2,且以 3 結尾的任意值

WHERE SALARY LIKE ‘2___3‘

尋找長度為 5 位元,且以 2 開頭以 3 結尾的任意值

 

glob:SQLite 的 GLOB 運算子是用來匹配萬用字元指定模式的文本值,與 LIKE 運算子不同的是,GLOB 是大小寫敏感的

*:星號代表零個、一個或多個數字或字元

?:問號代表一個單一的數字或字元。這些符號可以被組合使用。

語句

描述

WHERE SALARY GLOB ‘200*‘

尋找以 200 開頭的任意值

WHERE SALARY GLOB ‘*200*‘

尋找任意位置包含 200 的任意值

WHERE SALARY GLOB ‘?00*‘

尋找第二位和第三位為 00 的任意值

WHERE SALARY GLOB ‘2??‘

尋找以 2 開頭,且長度至少為 3 個字元的任意值

WHERE SALARY GLOB ‘*2‘

尋找以 2 結尾的任意值

WHERE SALARY GLOB ‘?2*3‘

尋找第二位為 2,且以 3 結尾的任意值

WHERE SALARY GLOB ‘2???3‘

尋找長度為 5 位元,且以 2 開頭以 3 結尾的任意值

 

SQLite Limit 子句 :限制返回的資料量

格式1:返回指定數量 的結果集

SELECT column1, column2, columnN

FROM table_name

LIMIT [no of rows]

格式2:從M行開始提取N行的值作為結果集返回

SELECT column1, column2, columnN

FROM table_name

LIMIT N OFFSET M

 

SQLite Order By 排序

文法格式:

SELECTcolumn-list

FROM table_name

[WHEREcondition]

[ORDER BYcolumn1, column2, .. columnN] [ASC | DESC];

 

SQLite Group By 分組

文法格式:

SELECTcolumn-list

FROM table_name

WHERE [conditions ]

GROUP BYcolumn1, column2....columnN

ORDER BYcolumn1, column2....columnN

SQLite Having 子句 HAVING子句允許指定條件來過濾將出現在最終結果中的分組結果。

文法

下面是 HAVING 子句在 SELECT 查詢中的位置:

SELECT FROM WHERE GROUP BY HAVING ORDERBY

 

SELECT column1, column2 FROM table1,table2

WHERE [ conditions ] GROUP BY column1,column2

HAVING [ conditions ]

ORDER BY column1, column2

SQLite Distinct 關鍵字 去重

文法

用於消除重複記錄的 DISTINCT 關鍵字的基本文法如下:

SELECT DISTINCT column1,column2,.....columnN

FROM table_name

WHERE [condition]

 

 

SQLite 常用函數

SQLite 有許多內建函數用於處理字串或數字資料。下面列出了一些有用的 SQLite 內建函數,且所有函數都是大小寫不敏感,這意味著您可以使用這些函數的小寫形式或大寫形式或混合形式。欲瞭解更多詳情,請查看 SQLite 的官方文檔:

序號

函數 & 描述

1

SQLite COUNT 函數
SQLite COUNT 聚集合函式是用來計算一個資料庫表中的行數。

2

SQLite MAX 函數
SQLite MAX 彙總函式允許我們選擇某列的最大值。

3

SQLite MIN 函數
SQLite MIN 彙總函式允許我們選擇某列的最小值。

4

SQLite AVG 函數
SQLite AVG 彙總函式計算某列的平均值。

5

SQLite SUM 函數
SQLite SUM 彙總函式允許為一個數值列計算總和。

6

SQLite RANDOM 函數
SQLite RANDOM 函數返回一個介於 -9223372036854775808 和 +9223372036854775807 之間的偽隨機整數。

7

SQLite ABS 函數
SQLite ABS 函數返回數值參數的絕對值。

8

SQLite UPPER 函數
SQLite UPPER 函數把字串轉換為大寫字母。

9

SQLite LOWER 函數
SQLite LOWER 函數把字串轉換為小寫字母。

10

SQLite LENGTH 函數
SQLite LENGTH 函數返回字串的長度。

sqlite 初

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.