id字段自增
sql="CREATE TABLE IF NOT EXISTS MusicList (id integer primary key AutoIncrement,name varchar(20),path varchar(20))";
<br>常用
Select
語句
desc <table> //查看錶結構 select * from <table> //查詢所有更 select , from table ;//查看指定列 select distinct , from table ;//非重複查詢 insert into users(_id,username,password) select * from users;//複製 select username from users where username like 'S%' ;//非重名字首字母爲大寫S的用戶 select username from users where username like '__S%' ;//非重名字第三個字母爲大寫S的用戶 select * from users where _id in(001,220,230); select * from user order by _id;//以id的順序排列 select * from user order by _id desc;//以id反的順序排
分頁
當數據庫數據量很大時,分頁顯示是個很簡單且符合人們習慣的一種處理方法。獲取數據行總數:
SELECT count(word) AS number FROM cet6_table;
count()函數爲我們返回一個Int整形,代表有多少行數據。返回的列的名字叫count(word),爲了方便閱讀和處理用as number給這個列取個 別名number;
SELECT [word],[explanation] FROM cet6_table ORDER BY word LIMIT 100 OFFSET 200"
上語句,返回自第200行的最多100條數據。分頁時我們只要修改offset 後面的數據即可取得對應頁面的數據。
SQLite內建語法表
結構定義 | |||||||||||||||||||||
CREATE TABLE |
創建新表。 語法:
|
||||||||||||||||||||
CREATE VIEW |
創建一個視圖(虛擬表),該表以另一種方式表示一個或多個表中的數據。 語法:
例子: CREATE VIEW master_view AS SELECT * FROM sqlite_master WHERE type='view'; 說明: 創建一個名爲master_view的視圖,其中包括sqlite_master這個表中的所有視圖表。 |
||||||||||||||||||||
CREATE TRIGGER |
創建觸發器,觸發器是一種特殊的存儲過程,在用戶試圖對指定的表執行指定的數據修改語句時自動執行。 語法:
例子: |
||||||||||||||||||||
CREATE INDEX |
爲給定表或視圖創建索引。 語法:
例子: |
||||||||||||||||||||
結構刪除 | |||||||||||||||||||||
DROP TABLE |
刪除表定義及該表的所有索引。 語法:
DROP TABLE customers; |
||||||||||||||||||||
DROP VIEW |
刪除一個視圖。 語法:
例子: |
||||||||||||||||||||
DROP TRIGGER |
刪除一個觸發器。 語法:
例子: |
||||||||||||||||||||
DROP INDEX |
刪除一個索引。 語法:
例子: |
||||||||||||||||||||
數據操作 | |||||||||||||||||||||
INSERT |
將新行插入到表。 語法:
|
||||||||||||||||||||
UPDATE |
更新表中的現有數據。 語法:
|
||||||||||||||||||||
DELETE |
從表中刪除行。 語法:
|
||||||||||||||||||||
SELECT |
從表中檢索數據。 語法:
|
||||||||||||||||||||
REPLACE |
類似INSERT 語法:
|
||||||||||||||||||||
事務處理 | |||||||||||||||||||||
BEGIN TRANSACTION |
標記一個事務的起始點。 語法:
|
||||||||||||||||||||
END TRANSACTION |
標記一個事務的終止。 語法:
|
||||||||||||||||||||
COMMIT TRANSACTION |
標誌一個事務的結束。 語法:
|
||||||||||||||||||||
ROLLBACK TRANSACTION |
將事務回滾到事務的起點。 語法:
|
||||||||||||||||||||
其他操作 | |||||||||||||||||||||
COPY |
主要用於導入大量的數據。 語法:
COPY customers FROM customers.csv; |
||||||||||||||||||||
EXPLAIN |
語法:
|
||||||||||||||||||||
PRAGMA |
語法:
|
||||||||||||||||||||
VACUUM |
語法:
|
||||||||||||||||||||
ATTACH DATABASE |
附加一個數據庫到當前的數據庫連接。 語法:
|
||||||||||||||||||||
DETTACH DATABASE |
從當前的數據庫分離一個使用ATTACH DATABASE附加的數據庫。 語法:
|
SQLite內建函數表
算術函數 | |
abs(X) | 返回給定數字表達式的絕對值。 |
max(X,Y[,...]) | 返回表達式的最大值。 |
min(X,Y[,...]) | 返回表達式的最小值。 |
random(*) | 返回隨機數。 |
round(X[,Y]) | 返回數字表達式並四捨五入爲指定的長度或精度。 |
字符處理函數 | |
length(X) | 返回給定字符串表達式的字符個數。 |
lower(X) | 將大寫字符數據轉換爲小寫字符數據後返回字符表達式。 |
upper(X) | 返回將小寫字符數據轉換爲大寫的字符表達式。 |
substr(X,Y,Z) | 返回表達式的一部分。 |
randstr() | |
quote(A) | |
like(A,B) | 確定給定的字符串是否與指定的模式匹配。 |
glob(A,B) | |
條件判斷函數 | |
coalesce(X,Y[,...]) | |
ifnull(X,Y) | |
nullif(X,Y) | |
集合函數 | |
avg(X) | 返回組中值的平均值。 |
count(X) | 返回組中項目的數量。 |
max(X) | 返回組中值的最大值。 |
min(X) | 返回組中值的最小值。 |
sum(X) | 返回表達式中所有值的和。 |
其他函數 | |
typeof(X) | 返回數據的類型。 |
last_insert_rowid() | 返回最後插入的數據的ID。 |
sqlite_version(*) | 返回SQLite的版本。 |
change_count() | 返回受上一語句影響的行數。 |
last_statement_change_count() |